Subject-oriented programming



         


Subject-oriented programming is a method of program composition that supports building object-oriented systems as compositions of subjects, extending systems by composing them with new subjects, and integrating systems by composing them with one another (perhaps with glue or adapter subjects).

The flexibility of subject composition introduces novel opportunities for developing and modularising object-oriented programs. Subject-oriented programming-in-the-large involves dividing a system into subjects and writing rules to compose them correctly. It complements object-oriented programming, solving a number of problems that arise when OOP is used to develop large systems or suites of interoperating or integrated applications.

In subject-oriented programming, a subject is a collection of classes or class fragments whose class hierarchy models its domain in its own, subjective way. A subject may be a complete application in itself, or it may be an incomplete fragment that must be composed with other subjects to produce a complete application. Subject composition combines class hierarchies to produce new subjects that incorporate functionality from existing subjects.

[Top]

See also

[Top]




  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License