See: http://www.research.ibm.com/sop/ (BrokenLink) c.f. AspectOrientedProgramming. This is an approach building ObjectOriented software systems by ''composing'' several sub-systems (known as ''subjects'') according to a ''composition expression'' which describes the rules for what parts of the subjects correspond and how they, in turn, should be merged. The idea is that this supports SeparationOfConcerns: each subject encodes the important aspects of the system as perceived from a particular perspective. Lately this work has been generalized into the notion of HyperSpace''''''s. ---- Subjects ''might'' be good for encoding the structure of patterns separately and using composition to deploy them in a project. (I'm saying this here mainly because I hope someone will take the bait and disagree with me) -- MarkSkipper This dangerous viewpoint will inevitably lead to eXtreme Design! -- MarkSpanglet - I prefer a classless society