Jon Kern

Greenhorn
+ Follow
since Aug 05, 2004
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Jon Kern

What are you trying to accomplish? Both "MDA" and "OptimalJ" are big topics.
Coad's Java Design does have some very good pointers on when to consider composition vs inheritance and some simple guidelines. To quote our book...

Use inheritance when you can satisfy these criteria:
  • "Is a special kind of," not "is a role played by a"
  • Never needs to transmute to be an object in some other class
  • Extends rather than overrides or nullifies superclass
  • Does not subclass what is merely a utility class
  • Within the problem domain, expresses special kinds of roles, transactions, or things


  • In general, if you have any doubts, always choose composition :=)

    Some people make the horrid, abusive mistake of inheriting from a persistence class or a security class, all in an attempt to ensure all child classes have security and persistence. Puke.

    Add the behavior by "bolting on" the classes through inheritance.
    Helen: yes, optimalj is what i have installed on my box, so i guess i'll show the concepts "in action" with that tool

    BTW, i don't choose my tools lightly. I chose Together/C++ in 1994 and spent nearly 10 years with it (building/specing much of what you see today).

    BTW2: A fool with a tool is still a fool...

    Ilja:

    I would be very much interested in the point Stan already raised: How does the tight feedback loop work in MDA? Can you test-drive a model? How else do you know that it works?



    and

    ...There are people who say that MDA *could* be done in an Agile way.



    Related questions...

    If it didn't support agile development, I wouldn't be here (or there, for that matter).

    It's all about getting results
  • deliver frequent, tangible, working results
  • get early and frequent feedback
  • build on sound architecture
  • build on an agile architecture
  • build in a consistent manner
  • keep stakeholders/customers at the fore