Three realms of design: see the Mountain Trilogy

Source: Internet
Author: User
Tags abstract static class

In retrospect of his meditation experience, Castle Peak said: "When not meditation 30 years ago, see Mountain is mountain, see water is water." And then, having witnessed the knowledge, there was a place in it. See the mountain is not a mountain, see water is not water. Now we have a rest place, according to the mountain is just mountain, see water is just water ... "

This passage is typical of Chinese-style wisdom, imaginative achievement here inexpressible. Meditation So, design is not so. To Zen I was very not through, to my explanation is easy to attract the master of the accusation. But since I am connected with the design, I would like to borrow the view of the Mountain trilogy to measure the state of design.

Wang Guowei in the "human Cihua" said: "Ancient and modern into the big business, Brainiac, will pass through three kinds of realm: Last night, the West wind wither Green tree." Alone on the high-rise, looking to the end of the road emaciated eventually not regret, for Iraq to eliminate the people haggard to find him thousands of spent, suddenly look back, that person is in, lights dim place

These three realms are also suitable for our software workers. But it is because of the predecessors so incisive words in, I came to explain, very frightened. If there are deviations, I hope you will criticize. See Mountain is mountain, see Water is water

At this point, we have some simple ideas about design. From direct programming to design-first programming, we are often terrified. When I first designed it, I really didn't know where to start. The intuitive idea of Shian with colleagues is to draw a static class diagram. At that time, it was designed to transform the data structure into a class structure. Fortunately, the company was also aware of the situation, sent a master to come and take us across the river.

However, because it was our first large-scale design, so many things are not very clear. For a lot of business, it is not very understanding of our designers. So many times in design, they are asking for their business meaning. Plus some simple design patterns to understand. Together with our hard-fought SARS spring. This is how the first design is done.

As you can imagine, the problem with this design is not that it does not solve the problem. It's not good to hear, no design, we can still do software. We're just a little bit better off than we were in a blind state. But only to realize that the thought has not yet been followed. At this time, the face of the problem is to solve the problem. Most of them stay on the surface. This system basically simply reproduces the frame structure of the original system.

In this case, the mountain in the architect's eyes, is the landscape of the mountains. And the design of the system, it is like fine brushwork. See The mountain is not a mountain, see water is not water

People in the process of learning software design, abstraction is the most easily mentioned technology and methods. This includes the abstraction of the class, the abstraction of the system, and the abstraction of the framework. We generally excel at the abstraction of classes. But it is not so easy to be abstract in business.

At this time, many designers are easy to avoid complex business, and to abstract the whole system from the core. I have this experience, too. Design, the system as a simple model, such as: Business flow model, MVC model and so on. Starting from this model, we can solve the important problems of several systems. Many of the remaining business problems are left to the programmer to complete.

It is said that this model is now more popular. I think this may be because many designers are more alike in this respect. The design of the system is divided into two parts: first, the system architecture, which is said earlier. Second, the module design, that is, to the programmer or team leader to continue to design modules. Huawei's research and development model seems to be the case. I have nothing to say about this model, after all, the model that suits people is the effective mode.

In this design, the system is often no longer a business system, and become an abstract system. Business is the leaf of the abstract system. See the mountain is just the mountain, see the water is just water

The mountain is already off the hill. While the system architect is in the business concept, although there is an abstract model, but the focus of the system is still the business itself. Such a system is the business system. Such a system is complete, such a system is the system.

I can only say that there is a hazy feeling, do not dare to say that they have any experience.

To use the concept of business to describe the whole system, the system looks like a business. In the architect's eyes, the system is a complete system, they do not only the core and ignore the more important business, it is easier to really from the system perspective of the entire business system.

Mountains, in their eyes, are systems of mountains. They can find the terrain, where climbing difficult, where suitable for housing. can also understand the internal geological structure, where is solid, where there is a cave. Where there are underground springs. Also know where is prone to landslides and other geological hazards.

In the face of business systems, we should not be so. The abstract framework is designed to better understand the system, but understanding the real changes in the business is the most critical part of the design. Why do we keep shouting "maintainability and extensibility"? It is because of difficult to do, it is more proof that this is a relatively high state.

_____________________________

Many times, the realm of understanding, is because of the personal environment and personal accomplishment. Some superficial insights, just a few attempts at this. I hope we can have a little help.

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.