Types of software architecture models

Source: Internet
Author: User

During software architecture design, there are three different types of patterns based on different abstract layers: architectural pattern and design pattern) and code pattern ).

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.

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. It is called the system mode.

• MVC mode. An architecture mode can often be divided into multiple design modes for joint use. The MVC pattern usually includes the Mediator Pattern, strategy pattern, composite pattern, and observer pattern.

• 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. module structure (from mud to structure) type. Helps architects divide the system reasonably to avoid forming an ocean 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.

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 ModeSuch as factory method mode, abstract factory mode, prototype mode, Singleton mode, and builder mode.

Structural Design ModeSuch as composite mode, decorator mode, proxy mode, flyweight mode, facade mode, and bridge mode.

Behavior modeSuch as the template method mode, observer mode, iteration sub (iterator) 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.

Coding Pattern)

Code patterns (or examples) are low-level patterns that are closely related to programming languages. 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 double-check locking.

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.