As a programmer, modularity is naturally not unfamiliar, because we have been talking about modularity. Previously we talked about Oop, And now SOA is not all modular. But how deep is our understanding of modularity?
The design rules book illustrates the benefits of design, modularization, and modularization from an abstract concept. Modularization is not only a design at the technical level, but also affects the design of economic systems at the social level, including the requirements for contract and corporate systems.
The so-called design work is to make a selection among a bunch of design parameters to achieve the optimal solution. However, parameters are mutually dependent and it is not so easy to obtain the optimal solution. It requires a round-robin trade-off. This process may be very long and the Interaction cost will be very high, especially for a complex system.
Modularization is designed to reduce cycle dependencies, reduce coupling, and improve design efficiency. To achieve this, we need a design rule under which all modules are designed. Good Design Rules classify coupling-Intensive design parameters as a module and divide work tasks accordingly. Modules interact with each other through a Fixed Interface (so-called visible parameters). In addition, internal implementations (so-called hidden parameters) are freely implemented by the module development team.
The generation of the company is actually very important to the modular relationship. For dependency-dependent systems, in order to reduce interaction costs, all designers must be in the same company-the company is generated to reduce transaction costs. For modular systems, because the interaction between modules is very small, the communication cost is relatively low, so that different modules can be developed by different companies, without causing high transaction costs. With this colleague, we need some systems to support the entire company system, such as the property rights protection mechanism and contract constraints.
Modularization may not reach the optimal solution at the beginning. However, because internal innovation is allowed, the right to choose is added, and a relatively high overall benefit can be obtained. For example, the open system of ibm pc has brought about a large number of IBC compatible machines and created many hardware manufacturers, such as Lenovo and Dell today. Apple is taking a closed route. Although Apple's products are cool and cool, they are just one of Apple's companies. Look at Macworld and you will know that it is to showcase its own products. A group of fanatic fans are touching it. IBM has created an industry where a group of manufacturers can survive and develop. More people are involved in creating value, and more people are gaining benefits.
The computer's modular system was not from the very beginning. the design rules Book tells the story of this process with the IBM 360 system as the main line. Since the IBM 360 system, the modern computer architecture system has been formed. As a result, different modules such as CPU, motherboard, chipset, bus, and display card have been developed, hard Disks and operating systems. Many hardware equipment manufacturers are founded by IBM employees because they understand the design rules of the IBM 360 system and the unlimited innovation opportunities inherent in modularity, therefore, it is possible to create its own wide world within a module. Unlike the rapid development of hardware, the modular development of the software industry has been slow until now.
The IBM 360 system is an amazing innovation. Participants and those watching the event have learned a lot of nutrients from it, for example, the famous man-month myth is also from the experience and lessons of this system for software engineering. Therefore, there is no reason for the country to launch a moon landing program.
The first few chapters in the book "Design Rules" are not bad. The concept of design and modularization is very thorough, which makes people feel that they have increased to a certain level. However, the subsequent chapters tend to focus too much on Quantitative mathematical reasoning, which is difficult to understand. If it is not for theoretical research, skip it quickly.
The final conclusion is that modularization is not a new concept, but the book "Design Rules" gives you a deeper understanding of modularization.