[Documents] types of software architecture and design patterns

Source: Internet
Author: User

Collected from the network. The source is unknown.

[Gof95] is the first book on the software model and the most popular book on OO design theory. Therefore, some people often use design pattern) the term refers to the architecture, design, and,ProgramAny type of implementation mode. Others stress that three different layers of patterns should be divided: architectural pattern, design pattern, and idiom ). Examples are sometimes calledCodeMode (coding pattern ).

The difference between the three lies in that the three different modes exist in their respective abstract levels and specific levels. The architecture model is a high-level system strategy involving large-scale components, as well as the overall nature and mechanics. The quality of the architecture model can affect the overall layout and framework structure. The design pattern is a medium-scale structure strategy. These medium-sized structures implement the behavior of some large-scale components and their relationships. The quality of the model does not affect the overall layout and overall framework of the system. The Design Pattern Defines the microstructure of a subsystem or component. Code patterns (or examples) are specific examples and programming skills related to specific languages. The quality of the code pattern affects the underlying details of the internal and external structures or behaviors of a medium-scale component, but does not affect the medium-scale structure of a component or subsystem, it will not affect the overall layout of the system and the large-scale framework.

Code mode or example (coding pattern or idiom)

The code mode (or example) is a lower-level modeProgramming LanguageClosely related. The code mode describes how to use the characteristics of a specific programming language to implement certain specific aspects or relationships of a component.

Examples of well-known code modes include the double-check locking mode.

 

Design Pattern)

A Design Pattern provides an outline design that extracts components in subsystems or software systems, or links between them. Design Patterns describe the ubiquitous repeated structures in the communication components. This structure solves general design problems in a certain background.

 

Design Patterns are often divided into different types, common types include:

Creation design patterns, such as factory method, abstract factory, prototype, Singleton, and builder) mode

Structural design patterns, such as composite, decorator, proxy, flyweight, facade, and bridge) mode

Behavior mode, such as template method mode, observer mode, iteration subator mode, chain of responsibility mode, and memento) mode, command mode, state mode, visitor mode, and so on.

 

The above three types are classic and there are actually many other types, such as fundamental, partition, and relation. When the design pattern is implemented in a specific programming language, the code pattern is often used. For example, the singleton mode usually involves the double-check locking mode.

 

Architecture Pattern)

An architecture model describes the basic structure organization or outline of a software system. The architecture model provides subsystems defined in advance, specifying their responsibilities, and providing rules and guidelines for organizing them together. Some authors call this architecture model the system model [stelting02].

An architecture pattern can often be divided into multiple design patterns for joint use. Obviously, the MVC mode belongs to this mode. The MVC pattern usually includes the Mediator Pattern, strategy pattern, composite pattern, and observer pattern.

In addition, common architecture models include:

• Layers (layered) mode, also known as tiers Mode

• Blackboard Mode

• Broker (intermediary) Mode

• Distributed process mode

• Microkernel (microkernel) Mode

 

Architecture models are often divided into the following types:

1. From mud to structure. Helps architects divide the system reasonably to avoid forming a sea of objects ). Includes layers, blackboard, and pipes/filters.

Ii. distributed systems. Provides a complete architecture design for distributed systems, including broker (intermediary) models.

3. interactive systems, supporting architecture design of systems with human-computer interaction interfaces, examples include Model-View-Controller) mode, PAC (Presentation-extract action-Control) mode, and so on.

4. Adaptable systems: supports application systems to adapt to changes in technology and software functional requirements. Such as reflection mode and microkernel mode.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.