FROM : Paul Szego
DATE : Wed Apr 06 08:22:17 2005
On 06/04/2005, at 2:48 PM, Will Mason wrote:
>> On the other hand, if you don't need all these services and just aim
>> for persistence, CoreData aren't what you need: just use an
>> NSArchiver,
>> and you get the support for any NSObject :))
>
> No, you don't. An object can be archived (sent to/read from an NSCoder)
> only if it adopts the NSCoding protocol.
A similar approach for CoreData would be better. Having a base class
that implements this for free is a good thing, as long as that's not
the only way to do it. Hopefully you wont be forced to extend a
specific base class - that's just bad design.
As for hibernate - I think the point is that it doesn't force you to
extend a base class. The fact that it achieves persistence by mapping
to a relational schema is irrelevant.
Many other frameworks face the same problem - and there's usually two
approaches. The first, and most restrictive, is to force you to extend
a specific base class with a bunch of behaviour built in. Another is to
define the responsibilities of a class that wants to "play ball" (e.g.
in Java via an interface, in ObjC via a protocol) and let it decide how
to best achieve those. The latter approach doesn't preclude providing a
base or mixin class. The former approach is often too restrictive to be
useful, especially when you want to make use of the framework for
existing code.
Guess we'll just have to wait and see.
Paul.
DATE : Wed Apr 06 08:22:17 2005
On 06/04/2005, at 2:48 PM, Will Mason wrote:
>> On the other hand, if you don't need all these services and just aim
>> for persistence, CoreData aren't what you need: just use an
>> NSArchiver,
>> and you get the support for any NSObject :))
>
> No, you don't. An object can be archived (sent to/read from an NSCoder)
> only if it adopts the NSCoding protocol.
A similar approach for CoreData would be better. Having a base class
that implements this for free is a good thing, as long as that's not
the only way to do it. Hopefully you wont be forced to extend a
specific base class - that's just bad design.
As for hibernate - I think the point is that it doesn't force you to
extend a base class. The fact that it achieves persistence by mapping
to a relational schema is irrelevant.
Many other frameworks face the same problem - and there's usually two
approaches. The first, and most restrictive, is to force you to extend
a specific base class with a bunch of behaviour built in. Another is to
define the responsibilities of a class that wants to "play ball" (e.g.
in Java via an interface, in ObjC via a protocol) and let it decide how
to best achieve those. The latter approach doesn't preclude providing a
base or mixin class. The former approach is often too restrictive to be
useful, especially when you want to make use of the framework for
existing code.
Guess we'll just have to wait and see.
Paul.
| Related mails | Author | Date |
|---|---|---|
| mmalcolm crawford | Apr 5, 17:33 | |
| Philip Mötteli | Apr 5, 23:49 | |
| Guy English | Apr 6, 00:29 | |
| Scott Stevenson | Apr 6, 01:14 | |
| Dustin Voss | Apr 6, 02:18 | |
| James Duncan David… | Apr 6, 02:27 | |
| Jake Macmullin | Apr 6, 02:31 | |
| John C. Randolph | Apr 6, 02:55 | |
| James Duncan David… | Apr 6, 03:01 | |
| Ondra Cada | Apr 6, 04:04 | |
| Will Mason | Apr 6, 04:48 | |
| Rogelio M.Serrano… | Apr 6, 06:05 | |
| Rogelio M.Serrano… | Apr 6, 06:06 | |
| mmalcolm crawford | Apr 6, 07:46 | |
| Paul Szego | Apr 6, 08:22 | |
| mmalcolm crawford | Apr 6, 09:52 | |
| ?????Andre? | Apr 6, 09:55 | |
| Ondra Cada | Apr 6, 12:21 | |
| oplus | Apr 6, 12:32 | |
| Mont Rothstein | Apr 6, 12:36 | |
| Philip Mötteli | Apr 6, 14:47 | |
| Scott Stevenson | Apr 6, 18:00 | |
| mmalcolm crawford | Apr 6, 18:39 | |
| Nat! | Apr 6, 22:35 | |
| mmalcolm crawford | Apr 6, 23:47 | |
| Timothy Reaves | Apr 7, 00:25 | |
| mmalcolm crawford | Apr 7, 00:50 | |
| Shawn Erickson | Apr 7, 01:05 | |
| James Duncan David… | Apr 7, 01:28 | |
| Todd Blanchard | Apr 7, 06:37 | |
| Todd Blanchard | Apr 7, 06:41 | |
| Scott Stevenson | Apr 7, 06:59 | |
| Philip Mötteli | Apr 7, 08:32 | |
| Marcel Weiher | Apr 7, 11:59 | |
| Charlton Wilbur | Apr 7, 15:11 | |
| Mike Ferris | Apr 7, 16:53 | |
| Marcel Weiher | Apr 7, 16:55 | |
| Marco Scheurer | Apr 7, 17:55 | |
| Marcel Weiher | Apr 7, 19:13 | |
| Scott Stevenson | Apr 7, 19:55 | |
| Marcel Weiher | Apr 7, 21:03 | |
| Mike R. Manzano | Apr 7, 21:21 | |
| Timothy Reaves | Apr 7, 22:03 | |
| Evan DiBiase | Apr 7, 22:28 | |
| Marcel Weiher | Apr 7, 22:35 | |
| mmalcolm crawford | Apr 7, 23:05 | |
| ttempel | Apr 8, 01:50 | |
| Paul Szego | Apr 8, 11:50 | |
| Johnny Deadman | Apr 8, 14:10 | |
| Philippe Mougin | Apr 8, 16:52 | |
| Shawn Erickson | Apr 8, 17:07 | |
| Shawn Erickson | Apr 8, 17:17 | |
| Ralph Scheuer | Apr 8, 17:28 | |
| Ralph Scheuer | Apr 8, 17:32 | |
| John Brownlow | Apr 8, 17:47 | |
| Charlton Wilbur | Apr 8, 18:34 | |
| Scott Stevenson | Apr 8, 18:43 | |
| Ralph Scheuer | Apr 8, 19:03 | |
| Philippe Mougin | Apr 8, 20:37 | |
| Scott Ellsworth | Apr 8, 21:46 | |
| Scott Ellsworth | Apr 8, 21:48 | |
| Evan DiBiase | Apr 8, 22:16 | |
| mmalcolm crawford | Apr 8, 22:30 | |
| mmalcolm crawford | Apr 8, 23:13 | |
| Marcel Weiher | Apr 9, 02:20 | |
| Marcel Weiher | Apr 9, 02:46 | |
| Scott Ellsworth | Apr 9, 09:39 | |
| Marcel Weiher | Apr 9, 09:44 | |
| Byron Ellis | Apr 9, 10:37 | |
| Marcel Weiher | Apr 9, 14:03 | |
| Charlton Wilbur | Apr 9, 16:01 | |
| ?????Andre? | Apr 9, 18:08 | |
| Scott Stevenson | Apr 9, 18:24 | |
| Scott Stevenson | Apr 9, 18:27 | |
| Marcel Weiher | Apr 10, 00:06 | |
| Marcel Weiher | Apr 10, 00:16 | |
| Marcel Weiher | Apr 10, 00:38 | |
| ?????Andre? | Apr 10, 01:03 | |
| Charlton Wilbur | Apr 10, 01:13 | |
| mmalcolm crawford | Apr 10, 01:53 | |
| Scott Stevenson | Apr 10, 01:58 | |
| Todd Blanchard | Apr 10, 08:32 | |
| mmalcolm crawford | Apr 10, 08:52 | |
| mmalcolm crawford | Apr 10, 09:25 | |
| PA | Apr 10, 12:08 | |
| mmalcolm crawford | Apr 30, 10:18 |






Cocoa mail archive

