1. According to the abstract level, you can be divided into:
(a) Analysis mode: some modes of early demand analysis analysis.
(b) Architecture mode: Design phases can be reused for design experience. It is often focused on the overall structure of the software.
(c) Design mode: The design phase can be multiplexed. It is often focused on the sub-structure in the overall structure.
(d) Some experiences in the programming phase, often related to programming languages.
2. It can be divided into:
(a) Universal mode: The field has nothing to do, the model that may be involved in any field, which is often focused on the non-functional demand of software, such as portability, changing, maintainability, etc.
(b) Domain mode: related to specific needs in a particular area, such as the mode of communication, emphasis on communication and distribution (J2EE, .NET) field mode emphasizes the build multiplexing of base objects, and communication links of base objects. And performance improvement means. This mode is often focused on specific non-functional needs or universal functional requirements in a particular field. For example, the creation of the object is destroyed, transparent communication between the objects, concurrency, etc.
3. The relationship between the patterns can be divided into:
(a) Mode directory: Describe the structure of each mode, solve specific problems, programs, benefits, and corresponding defects. The similarities between the patterns are analyzed and classified according to it. Simply describe the relationship between several modes.
(b) Mode system: Several individual patterns organizations together, the relationship between the patterns, the tasks and the role of each pattern. The overall role after cooperation. It is between mode directories and mode languages.
(c) Mode Language: On the basis of the mode system, it emphasizes the calculation of software architecture. Each aspect of the software constructed has a specific pattern to meet the demand, without a so-called gap or blank.