Design heuristics ... lower level rules of thumb.
Not meant to define hard and fast rules; they serve more as warning mechanisms.
The subconscious list of guidelines that seasoned experts might use to evaluate
the quality of a design. Here is a list of heuristics by ICON Computing ...
|
Design principles ... higher level, more general
encapsulation of insight. Heuristics could be described as tactical, and
principles as strategic. Some possible examples ...
|
|
Design patterns ... the definition,
abstraction/generalization, and archiving of successful and popular designs.
A pattern captures the same kind of leverage in the OO world as the term
"stack" captures in the data structures world. (Stack immediately and
implicitly communicates the notion of a LIFO queue with functions like push(),
pop(), and is_empty(), that can be used to traverse a hierarchical tree.)
Some GoF pattern examples ...
|
Frameworks ... reverse the traditional idea of reuse. Instead of a programmer writing a main program which calls reusable procedures, a programmer instantiates objects from the framework's architecture and then implements methods that the framework will call. A framework is a miniature application complete with dynamic and static standardization. It is a reusable template where the programmer "fills in the blank". Frameworks are specialized for a narrow range of applications because each model of interaction is domain-specific. They are the product of many iterations in design over long periods of time. A list of bullet points ...