Jojo's OO Design Project Log

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
(added design decisions and problems faced during the study)
(smelling that smell of a shotgun surgery smell...)
Line 14: Line 14:
 
== Design Enlightenment. Starts. Here. ==
 
== Design Enlightenment. Starts. Here. ==
  
Events of Design Decisions (To Be Expanded & its language made formalized):
+
Events of Design Decisions (To Be Expanded & its language made formalized if needed):
 +
* The very first thing I had to face with as I opened the lid of my design study box was [[Shotgun surgery smell]] just exploding right in front of my face and stained my clothes. Not good. Not good. But well, due to time constraints I chose to work with work with the current design as much as possible rather than blast it to pieces (Is this decision will make or break my honours project?)
 
* [[model view controller]]: controller knows about everyone...but everyone only knows about controller????  
 
* [[model view controller]]: controller knows about everyone...but everyone only knows about controller????  
 
* Changed the 'Model' of my [[model view controller]]: Added DocumentFragment class.
 
* Changed the 'Model' of my [[model view controller]]: Added DocumentFragment class.

Revision as of 00:47, 27 August 2008

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 if needed):

  • The very first thing I had to face with as I opened the lid of my design study box was Shotgun surgery smell just exploding right in front of my face and stained my clothes. Not good. Not good. But well, due to time constraints I chose to work with work with the current design as much as possible rather than blast it to pieces (Is this decision will make or break my honours project?)
  • 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!!