Frogs design
From CSSEMediaWiki
Revision as of 01:58, 20 July 2009 by Stephen Fitchett (Talk | contribs)
An OO model of frogs. This beautiful design appeared in the 2004 427 exam.
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.
Broken heuristics
- Riel's heuristics
- 3.9 Avoid verb classes: The Move interface is a verb. It could be called Movable or similar (although that name is still not great for other reasons).
- 5.14 Avoid becomes: A frog will at various stages be an egg, tadpole and adult frog.
- 5.17 Avoid no-op overrides: The hop and swim methods of Egg do nothing.