[Tutor] Re: [Edu-sig] Off topic musings

Dethe Elza delza@alliances.org
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 
unit

   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 
standalone unit

   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 
or related

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 (delza@burningtiger.com)
Chief Mad Scientist
Burning Tiger Technologies (http://burningtiger.com)