On 28 Apr 2006, at 06:03, David Avendasora wrote:

I am using inheritance in the model as well as interfaces but the problem isn't the inheritance! I'm having a hard time explaining the structure of my application so I've done my first-ever UML Class Diagram to try to explain it better. I've attached it - hopefully it makes it.

I don't think I'm doing anything crazy. I think it is pretty standard OO stuff (straight out of Head First Design Patterns). Can anyone tell me a better structure?

Looks to my like a classic MRP model, a little over-refined. The interfaces are an implementation details, and are really a red herring. Choosing the database schema is as much to do with performance as anything else. I think the first time I had to implement one of these was pre-relational, and I was fortunate enough to be able to use Total instead of IMS (extra detail added for the veterans among us).

The design you displayed could be implemented in a zillion different ways, and that's even ignoring the interfaces decisions. EOModeler is going to want to have relationships defined using entities, rather than interfaces, because EOF needs to be able to instantiate instances of the related objects, which I think is fair enough.

In the absence of any information to the contrary, I'd probably use a Part and a BoM table. I notice that the interfaces in some cases are identical in the UML (which is an over-refinement hint). I'd probably use a type field in Part to distinguish between your three subparts, and make them separate entities. The BoM table doesn't need to be separated. Relationships live in your Part entity/class, and ignore the ones you don't want. Depending on your industry, it's not unknown for "Intermediate" parts to suddenly become raw materials or finished goods at times; this will also affect your design.

Paul
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to