Classes of Software Patterns



Conceptual Patterns:

Similiar to conceptual patterns discussed earlier


Design Patterns:

They name, abstract and identify the key aspects of common design structures that are useful in creating reusable object-oriented design. Design patterns identify the participating classes and objects, as well as their roles, collaborations, and distribution of responsibilities in recurring, stereotypical problems of object-oriented design

Analysis Patterns:

They are reusable object models resulting from the activities of object-oriented analysis applied to common business problems. They contain a lot of domain knowledge and experience, yet can be used in almost all kinds of business software



Patterns for software architecture:

These are concerned with an overall structures of a software system or subsystem that is appropriate to the problem domain and clarify designer's intentions about the organisation of the system or subsystem.These are based on selected types of components and connectors together with a control structure that governs execution.



Organizational and Process Patterns:

These patterns apply to software development processes and organizational pragmatics.