[Tutor] Re: [Edu-sig] Off topic musings
Mon, 20 Aug 2001 11:01:29 -0700
Related to the discussion of the "levels of information." There is a
"levels of abstraction:
Class - a group of related data and functionality
Property - data belonging to a class/object which may be a variable
or the result of a computation
Pattern - a generalization of a recurring problem and its solution set
Idiom - a pattern within the context of a given language
Framework - a collection of related idioms packaged into a standalone
Aspect - A cross-section of one consideration in a program (say,
Security), factored out to make it modular
Module - Some amount of functionality which is packaged as a
Component - A class or collection of classes which are packaged as a
standalone unit and can be swapped in and out of a system.
Library - A collection of functionality packaged for re-use
Distributed Component - A component which spreads its functionality
across multiple computers.
Guideline - A recommendation for use, more specific than a pattern.
Style Guideline - Standards for presenting code for maintenance.
Documentation - Details about the documented system, high-level
programs for human metacomputers.
Pattern Language - A group of patterns which are mutually supporting
Don't know how useful this is to anyone. Most of these relate to the
tenets of pattern design and OO:
* Seperate what changes from what stays the same (or things which change
with different frequencies).
* Solve problems by adding a layer of abstraction
* Work at as high a level as possible to promote clarity. Clarity is
the key for maintainable and extensible systems.
Dethe Elza (email@example.com)
Chief Mad Scientist
Burning Tiger Technologies (http://burningtiger.com)