Skip navigation.
 
mlRe: Object Hierarchies
FROM : Lars von Wedel
DATE : Mon Apr 30 08:59:45 2007

Dear Sam,

> We have a hierarchy of objects, each having a
> list of lower-level objects, i.e.:
>
> Course -> Session -> Segment -> Scene -> Shot -> Layer -> Shape ->
> ContentProperties
>
>    Does it make sense, a la MailDemo, to subclass these from a 
> common class
> having only two instance variables, i.e., an (NSMutableArray*)
> sublist and an
> (NSMutableDictionary*)properties, the latter of which would be 
> individually
> initialized with all the keyed properties associated with the 
> particular
> subclass?  Or maybe even just use one class with individual 
> initializers?


From my past experiences (which are not Cocoa) I would not recommend 
to artificially flatten such class hierarchies. Having just one class 
to actually represent a number of different concepts will prevent (or 
at least make it very tedious) to define methods particular for each 
concept. I cannot see why this should be any different in Cocoa/
Objective-C.

What might be useful though is to a have an abstract superclass that 
permits access to common things like a label, the set of children etc.

As Matt pointed out, you might want to take a look at CoreData which 
simplifies development of such applications.

Lars

Related mailsAuthorDate
mlObject Hierarchies Sam Colombo Apr 29, 05:09
mlRe: Object Hierarchies Matt Neuburg Apr 30, 01:58
mlRe: Object Hierarchies Sam Colombo Apr 30, 03:39
mlRe: Object Hierarchies Lars von Wedel Apr 30, 08:59