Jojo's OO Design Project Log

From CSSEMediaWiki
Revision as of 00:31, 27 August 2008 by Johannes Pagwiwoko (Talk | contribs)
Jump to: navigation, search

Alexey Blinov's Original Design

The image below shows the by Alexey Blinov, A Cosc Honours 2007 student, which also did this course. He came up with this final design at the end of the course. To say the least, it is really good design, well-packed with good design principle and design patterns. However, the design was bound to the software requirement which has now changed.

DigitalMusicStand originalDesign.png

My task is to improve his designs based on the new requirements. Come to think of it, his design has some bottleneck that is not flexible (ie. not open to extension and modifications).

  • Why it needs improvements?
  • Why I choose this study?
  • What are the bottlenecks?

Design Enlightenment. Starts. Here.

Events of Design Decisions (To Be Expanded & its language made formalized):

  • model view controller: controller knows about everyone...but everyone only knows about controller????
  • Changed the 'Model' of my model view controller: Added DocumentFragment class.
  • Added the ViewerControllers: DocumentViewerController & DocumentFragmentViewerController
  • Added, ViewStrategy: SingleViewStrategy & MultipleViewStrategy, but...
  • ...OH NOOO, Why this has to happen in my design study's space: It's...not an alien, it's Parallel hierarchies problem!!! The smell of Parallel inheritance hierarchies smell is really strong in here!! Oh Gawwd NO!!