Frameworks and Patterns for Object Oriented Design
Designing complex software systems is hard. It is a great deal easier to reuse an existing software system, merely modifying it where necessary, than to build it from scratch. These two facts have led to a great deal of interest in what has become termed software frameworks in the object oriented community. A software framework is “the reusable design of a system or a part of a system expressed as a set of abstract classes [and concrete classes] and the way instances of (subclasses of) those classes collaborate” [Beck and Johnson 1994]. However such frameworks are notoriously difficult to document. For example the Model View Controller (MVC) framework in Smalltalk is very powerful, but it has proved difficult to explain in a clear and simple manner how the MVC should be used [Krasner and Pope 1988].
Unable to display preview. Download preview PDF.