On May 19, 2008, at 2:20 PM, Jean-Daniel Dupas wrote:

And as we are here, note also that Key-Value-Coding uses dynamic properties of the language.

Yes, it does.

OK, implementing valueForKey: and setValue:forKey: is probably easy using introspection.

Likewise reflection. And in .NET, the same kind of binding functionality is fully supported. The basic version uses something like KVC, but with reflection to grab the property and associated event. I don't use .NET binding very much, but I know there's also a more strongly-typed version of binding that doesn't rely on naming conventions or reflection.

So now, have a look at KVO and bindings. You can add an observer to any model object (even to object that was compile before KVO was implemented) and when any accessor is call on this model object, the observer will receive a notification.

Likewise .NET. Most bindable objects implement the appropriate "PropertyChanged" event for notification, but of course an object that only has the property can go through a notifier proxy that handles the same work.

So, in this case, the .NET fallback is more like Cocoa's standard approach, while the more typical case has more direct support straight from the object itself.

Again, there are subtle differences, but the two environments offer basically the same behavior with very little difference to the end- user writing the code.

Pete
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to