Professional Documents
Culture Documents
Model
Goal / Benefits
Modularity
decoupling components
allows each component to be versioned independently
worked on by individuals on team (UI person, DB person, etc)
Flexibility
multiple Views for one Model (web frontend, desktop frontend, mobile
frontend, etc)
replace one component (replace data storage from flat file to database)
Maintainability
only change one component where bug exists, less risk in late changes
Testability
each component communicates through contract so each component can
be unit-tested independently
Example Scenarios
MVC
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
http://www.ootips.org/mvc-pattern.html
http://c2.com/cgi/wiki?ModelViewController
http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html
Observer Pattern
http://www.research.ibm.com/designpatterns/example.htm
http://en.wikipedia.org/wiki/Observer_pattern
http://msdn.microsoft.com/en-us/library/ms954621.aspx