Frogs design

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
Line 15: Line 15:
  
 
This design is perfect.  It cannot be faulted.
 
This design is perfect.  It cannot be faulted.
 +
 +
== Broken heuristics ==
 +
 +
* [[Beware type switches]]
 +
* [[Beware value switches]]
 +
* [[Avoid no-op overrides]]
 +
* [[One key abstraction]]

Revision as of 22:31, 22 July 2008

An OO model of frogs. This beautiful design appeared in the 2004 427 exam.

Frogs.gif

Design notes

  • This design models the lifecycles of Frogs.
  • A Frog begins life as an Egg, grows into a Tadpole and then an AdultFrog.
  • A FrogBrain belongs to a Frog and manages its behaviour.
  • There is one Biologist, Igor, who sometimes moves Frogs around. Igor has been known to fry their legs in white wine.
  • Toads don’t have the same lifecycle as Frogs, but they look and act a lot like Frogs.
  • Toads eat AdultFrogs.

Design Critique

This design is perfect. It cannot be faulted.

Broken heuristics

Personal tools