DescriptionA decomposition paradigm is a style of structuring programs into parts.
As such it specifies what types of parts a program should be composed of and what kind of structural relationships they should have.
DecompositionParadigms are unrelated to ModelsOfComputation, which are about how to express computations, not how to structure the program that arises from the computation. However, some decomposition paradigms are easier and more efficient in some models of computation than others, and viceversa.
A decomposition paradigm may be related to and recommended by a method[ology], which is a collection of principles meant to guide guidance on how to construct a program.
Examples of decomposition paradigmsBjarneStroustrup published a useful paper in which he listed the principal decomposition paradigms. Some of the most common are:
PurposeThe main purpose of a decomposition paradigm is to offer guidance as to making the task of creating and maintaining a complex program easier.
Most decomposition paradigms are based on the idea that this can be achieved by minimizing the dependencies among program parts and maximizing the cohesiveness of each part.
ObjectOriented decomposition for example is based on the assumption that cohesion and dependencies are optimized by hiding in a module the representation of a type, because usually there is strong cohesion among the procedures that maintain its representation, and few dependencies with the modules for other types.
Pointers
-- Blissex 050405