Three dimensions of software architecture design

Source: Internet
Author: User
Tags aop

Architecture design is a very big topic, no matter how many articles to write, contact is always only the tip of the iceberg, more practice to experience. This article focuses on the location and role of the three elements of Object-oriented oo, aspect-oriented AOP, and service-oriented SOA in architecture design.

There are three dimensions to architecture design, or we need to think about three directions when considering architecture.

These three dimensions are object-oriented, aspect oriented, service oriented.

These three dimensions can be considered orthogonal, but different dimensions will corroborate each other and support each other, as shown in the diagram of the entire architecture.

Diagram: Architecture three-dimensional structure chart

Object-oriented

Object-oriented technology started from object-oriented programming, it appeared in the 60 's Simula language as the symbol, and in Smalltalk language perfection and standardization process to get more expansion and the former thought of the new annotation.

In the late 80, object-oriented programming was gradually matured and understood and accepted by computer, and people began to consider the problem of object-oriented development. Until now, Object-oriented has become a very popular programming method, as well as the architecture of software design.

The object-oriented approach has three main objectives: reusability, flexibility and extensibility, emphasizing objects ' abstraction, encapsulation, inheritance, and polymorphism. It allows people to think about the program in a way that is closer to the real world, which can be said to be the most object-oriented progress.

In the use of OO thought, the industry has a lot of good experience and skills, resulting in a large number of design patterns, it can be said that the object-oriented system analysis and design of a very important aspect.

Aspect-oriented

Aspect-oriented is originally from hook technology, in essence, to meet the requirements of expansion, you can freely extend the function in the program.

Aspect-oriented is not only a programming technique, but also an architectural design idea. If OO is analyzing and cutting the entire system vertically, it can be assumed that AOP is slicing the system horizontally.

Simply understood, OO and AOP provided us with an analysis system from two different angles. The aspect can make up the object-oriented flaw, the two kinds of methods are organically combined, and can analyze the system more effectively.

We believe that Oo is a way of thinking that is close to human understanding of nature, but it is not necessarily the case in the east.

When westerners see a complex system, there is only one way of thinking, is "decomposition", the system into a piece, and then each part of the study.

When the Orient sees a complex system, it will pay more attention to the relationships in the system and study the system as an organic whole, which is also the difference between East and West in the view of things.

These two ways of thinking are no problem, if combined to analyze the problem, solve the problem will be better. The same is true of object-oriented and aspect-oriented, which can correspond to the way of thinking of human knowing nature.

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.