A good person who is good, good "shape" is very important for Go. Shape is an abstraction of the geometric shape of the chess pieces on the board. The shape is the key to the pattern and the key to the human brain grasp and understand the outside world. The ability of the human brain on the treatment model is also very high, people can identify the familiar faces in hundreds of faces, is an example. The process of modeization is to abstract problems, after ignoring unimportant details, discovering the general nature of the problem, and finding the process of universally applicable solutions.
What is the pattern?
Modern science and engineering can develop to today, depending on the rules; model research is no exception. Before discussing the mode, the word "mode" must be defined to specify the discussion and research later.
In short, when people continue to discover problems and find solutions in their own environments, they find that there are some problems and their solutions constantly changing the face repeatedly, and they are common in these different faces; these common The essence is the pattern.
So, is the model "in some environment, what about a question?"
This is incomplete; the answers to the problems and problems described in the model should be a representative question and question. The so-called representative, that is, it repeats in different forms, allowing the user to raise an opposite three to apply it to a different environment. In order to communicate with others, it is often also required to give this question and question answer one name.
I don't know if the reader will notice that the "representative", "representative" and other words such as the above is the unique expression of the Chinese. Such vocabulary translates into any Western language, you need to waste a lot of tongue. This is because the model is actually very suitable for the Chinese thinking, not the Westerners' thinking. After reading this chapter, the reader will have a deeper understanding of this.
Simple history of software mode
The pioneering work research in the object-oriented programming is used, which is the literature [gof95] (Chinese translation [gof95z]). These four authors are usually called "Gang of Four, or GOF). This book was published in 1995, and the model theory was introduced to the history of the software design industry.
The origin of the design model in the software design industry can be traced back to 1987. At that time, Ward Cunningham and Kent Beck together used SmallTalk to design the user interface. They decided to use Alexander's theory to develop a new language with five models to guide SmallTalk, so they write a papers that "Using Pattern Languages for Object-Oriented Program is object-oriented" (published OOPSLA'87 in Orlando.
Soon after that, JIM Coplien start collecting the C language example (IDioms). The example is one of the modes; these C modes are published in the 1991 Advanced C Programming Styles and IDioms (Advanced C Programming Style and Solutions) One book.
From 1990 to 1992, members of the "Four Gang" began their jobs to collect patterns. The discussion and work conference on patterns have been held repeatedly.
In August 1993, Kent Beck and Grady Booch hosted a meeting in the Mountain Resort in Colorado. The main figures of model research have participated in this meeting, including: Jim Coplien, Doug Lea, Desmond d'Souze, Norm Kerth, WolfGang Ree, and so on.
Shortly after that, "Design Patterns" of "Tourism" is published.
After this book, the number of participating model studies is explosive growth, and the number of structures determined as the pattern is also explosive. Programming Mode Language Conference (Pattern Languages Of Programming, or PLOP) is held once a year in the United States, and the papers of the General Assembly are also compiled, publicly published [PLOP95], [PLOP98], [PLOP99]. The model is also constantly applied to all aspects of software engineering. In terms of development organization, software processing, project configuration management, etc., you can see the shadow of the pattern; however, it has been the best research is still design mode and code mode.
Pattern origin
Interestingly, model research is not from the software engineering industry.
Eternal way of architecture
Mode research originated from the work of urban planning and architectural design. Although his work is designed for urban planning and architectural design, the author's view is actually applicable to all engineering design, including software development design.
Alexander pointed out in his work, using the current design of the current design method, the basic purpose of all engineering design is not met: improving human conditions. Alexander wants to invent construction structures that enable human beings to benefit from comfort and quality of life. He concluded that designers must constantly strive to create more suitable for all households, users and their communities, to meet their needs.
Alexander's works are: [Alex64], [Alex75], [Alex77], [Alex79], the last three books have Chinese translation. If the reader is interested in his work, this book recommends that the reader first reads [Alex79] or the translation [Alex79z], which is the book of "the eternal way of architecture".
In these works, Alexander describes some design principles that he thinks is eternal, suitable for any engineering discipline. These principles are based on the three basic concepts below: Quality, door, and Tao.
Unknown quality (Qwan)
In Alexander's discussion, the Quality or Name (The QUALITY WITHOUT A Name) is in the heart of the core.
Alexander believes that all creatures, useful things include the following "quality": freedom, integrity, completeness, comfort, harmony, availability, persistence, openness, elasticity, variability, And plasticity. Qwan makes people feel energetic, giving people a sense of satisfaction, and ultimately improve human life.
door
"Door" is a pipe to "quality". "Door" is reflected in a universal pattern language, this mode language enables designers to create a variety of forms of design to meet multi-faceted needs. "Door" is a common relationship between these modes, or the "Ether" of the model, full of a specific domain.
Way
"The Way" is also known as "The Timeless Way).
With the "Tao", from "doors" to "quality" process, it is to apply some specific modes to the step-by-step process of the system design in a certain order. Alexander compares from the "door" to "quality", as embryonic development. The particular situation of the development of embryos is the whole to partially exist; the whole and by splitting. By pursuing "Tao", you can reach "quality" through "doors". Alexander believes this process is the development process of any engineering design.
The relationship with Taoist thought is that people of "The Eternal Tao" of the architecture of the Alexander are touched by the philosophicalness of this book. This book is a book with a book "explaining philosophy using architecture", or a book "explaining architecture with philosophical style." Alexander I have repeatedly emphasized that the model theory is a complete, indivisible whole; it is not possible to summarize his theory into a set of methodology, not to ignore his philosophical point of view.
Now, the theoretical theory returns to the hometown of Taoist thought. Regrettably, how many people can also be able to recognize the philosophical view of the model theory in the dark?
"Strong Taoist View"
Alexander's philosophical point of philosophy has a deep customs.
The University of Texas At San Antonio Mathematics Nikos A. Salingaros Summarize the work of Alexander [Salin], he said: "Alexander's architecture development has developed a philosophy about nature and life ... Alexander It is believed that the universe is a harmonious whole, contains a feeling and no life. Dr. Salingaros concluded that "Alexander's point of view is a strong Taoist point of view"; "His point is the first in" architection " The book is developed. "
"It is easy to study for technical staff"
Joseph Boudreaux, Arizona, said [CCIT], "The Eternal Road of Architecture" and "Building Mode Language" Two Books "is about solving problems and structures in any field. These two books are like Java Or the same, the C book, just there is no hate code syntax. Read these two books, it seems to read an easy classic or Confucianism written by the technician - Taoist work. "
Chaotic death
Before I put a fantastic story in "Zhuangzi · Emperor" from the point of view of Alexander from the point of view. (This fable story is very interesting to rewrite the author of the pen name "melon" [hundun].
"The emperor of the South China Sea is the end of the North Sea, the Emperor of the Central Sea is chaos. 倏 and 倏 忽 相 相 相 相 地 地 地 地 善 善 善 善 善 善 善 善 善 善 善 善 善 善 善 报There are seven-, with the viewing, this is nothing, trying to be chisel. 'Rice chisel, seven days, chaotic death. "
This story is that there is no feeling of feeling organs, and after getting the feeling of the organ, it will die. Chaos exists before the feeling of people; after entering the feeling of people, chaos does not exist.
Laozi said, "The beginning of the world, the mother of all things". Unknown, it is impossible to define. The process of human brain knows an objective entity is to define an entity process, which is to set the boundaries. Taoist believes that an entity is unable to be separated from its environment, so a process is limited to a range of a range, which is also changing its process. Once an entity is defined, it is no longer the original entity.
Only after an entity is defined, the concept will be generated in the human brain; this is "name". "Name" is dead chaos.
Everyone knows that in classic mechanics, the wave and particles are completely different, and the attributes of the wave and the particles cannot exist at the same time. However, in quantum physics, a physical entity has both an attribute of a wave, and has a particle properties. When the experiment detected the nature of the wave, the microscopic particles showed the nature of the wave; in contrast, if the experiment detected the nature of the particles, the micro particles showed the properties of the particles. The experiment makes this decision which detects which property can be random, not pre-set. This shows that a micro-particle itself must have the nature of wave and particles.
There is no observer's intervention, the true essence of the universe is unconventional, so Laozi said "the beginning of the world". Zhuangzi's "chaos" is "unknown" personality. An entity is defined in a way that is a thousand variable, so the same entity can produce different "names". When people try to define the essence of the universe, they will find one thousand, 10,000 properties, which are the results defined in different ways. Everything you see is part of the universe, the result of the human brain to limit the universe to a region. Therefore, Taoist said "the mother of" Mother ".
Figure 1, the "Moral" fragment of the Mawangdui unearthed.
In quantum physics, the experiment interferes with the observed entity when the microscopic particles having "wave-particle niography" are detected, so that the latter presents "name", which is wave or particles. Attributes.
"无 无 质 (qwan)"
The so-called "quality" (also known as "unknown quality", or short-written Qwan), the concept represented is very close to Taoist "name".
Qwan is a building has the properties. When the human brain tries to know it, it is inevitable to limit it into different regions; this time, this unknown "quality" has become some "quality" ", Harmony, Harmony, Harmony, Openness, Varrectivity (Variability) ), Plasticity, and so on.
Qwan is the original basis for architectural design, and these "quality" can be defined is the beginning of all engineering design.
Microscopic particles "Wave-Partoniography" is the physical existence of Qwan concept. Qwan is the "unknown" of Laozi, or Zhuangzi's "chaos".
Reopemony "door"
This concept is actually very close to the "gas" of our country. "Morality" said, "Everything is negative and the yang, the fire is and." In other words, all things are composed of yin and yang, and the gas is also the intermediary and carrier of Yin and Yang, gas and yin and yang are one side of a thing. . The gas is very close to the force field or substance wave of modern physics, and the wave and particles are two properties of a physical entity.
In the Tang Dynasty, Cheng Xuanying (about 601-690) said in "Zhuangzi Shu": "Gantagurates and its shape, and gas is invisible." In other words, gas is reflected in "shape", and "shape" is mode. The language of the mode is "shaped" language.
In the particles, microscopic sub-particles are interacting by exchange intermediary particles; and these mediation particles become a physical entity of Taoist "gas" concept.
On the "Tao"
"Morality" said: "Tao life, a life of the second, two students three, three births million. Everything is negative and the yang, the impressiveness and." This is said that everything is born by the way, the first entity is The internal contained a whole of the yin and yang poles. This is equal to the possibility of negative any yin or yang.
Similarly, Alexander wrote in "Differentiation" in "The Space of the Architecture": "In nature, an entity is always born as a whole," he thinks a process of architectural design Just like a fertilized process, it is a step-by-step process; it is from the whole to part of the process, not from partial to the overall process.
This shows that the philosophy of the pattern is very close to Taoist philosophy. Philosophy, is to go to school. Shape and go to "shape". I hope that everyone should not forget the model ("shape") when learning mode ("shape"). Due to this similarity of this, Chinese learning model should try to use the inherent ways of Chinese people because our thinking is best suited for interpretation model theory.
Building Feng Shui? Software water
Feng Shui Description exists only in the whole of the building and its environment, and does not exist in some attributes of independent portions.
Feng Shui emphasizes the interaction between buildings and environments, and it is considered that buildings and their environments are a harmonious whole, which gives a specific experience to people living in them. For example, a vase is beautiful, not only in the shape of a vase and its surface decoration, but also in the position of the vase and its environment. The interaction of an object and its environment is generated by "gas"; if this interaction is harmonious, "gas" is manifested in the form of beauty.
Similarly, Alexander wrote in the "Eternal Road of the Building", a garden has "life" because plants, wind, animals are in a perfect balance.
Feng Shui is popular in China for thousands of years. In the north, most of them are related to the power of the grave orientation; in the south, mostly related to the location of the house and fortune. Feng Shui is always associated with superstition, associated with utilitarian, so that Feng Shui has always been difficult to retreat to his mysterious coat, become a part of science.
Alexander's work can remind readers in Chinese cultural background, pay attention to "Feng Shui" inherent rationality. If you can successfully peel off the superstition and utilitarian factors, re-use the "Feng Shui", which can be used to create "Feng Shui".
For a software design engineer, a software system must also have some attributes only belong to its entirety, and there is no part of its part. In other words, the reader can think about whether the software system design has "Feng Shui"; this "software design Feng Shui" is related to the existing design model theory, and so on.
Software
By following Alexander's views and dysfunctures to his point of view, his theory "projected" to software design.
Three theory "QWAN"
First, Qwan means that the intrinsic properties of a software exist in this software, but also among the interactions of this software and other software, existing in this software and computer, especially user interactions. in.
This most important property is "unnamed" because it is the attribute that is mapped before the human brain. After this property is mapped to the human brain, it has undergone a variety of ways to limit the process within a variety of different ranges; this process causes this unknown quality to become a lot of "famous" "quality" . The readers after this book will read, these "famous" "quality" includes variability, software availability, and system scalability, flexibility, and insertability, and more.
Three "Door"
For Java language designers, "gas" is Java source code, these source code gathers "shape"; some "shape" repeatedly repeatedly, constitute a typical solution to some typical issues; and this is mode. People can distinguish between these "shapes" in order to be able to communicate with each other; people study these "shapes", can accumulate experiences to handle similar problems in a non-three manner.
There will be several characters in a model, which are also "gas" convergence; and use "gas" to effectively effect.
According to the scale of "shape", mode can be divided into "code mode", which is "shape" consisting of Java statements; "design mode", "shape" is composed of Java classes and objects; "architect mode", also Is "shaped" consisting of large-scale components. Three "Eternal Road"
Software design must start from the overall attribute of the software, that is, QWAN; through performance differentiation, forming each module, various user interfaces, various classes, and various methods. When the performance requirements of the software changes, Qwan will not change; if a software can keep Qwan to ensure the stability of a software design in the change world. This is the eternal way of software design.
Qwan must be achieved by "Tao" followed by "doors". For a Java designer, this means that the "shape" to achieve the software system of the software system after the formation of Java source code.
If the reader reads this book, it will find that "open-closed" principle is very close to such a "road". It differentiates into several different design principles under different conditions. These design principles are "eternal road" in different directions and different levels.
Design patterns, including 26 design patterns that this book will introduce, is a way to help designers reach Qwan.
Call for philosophy
The construction of buildings will be limited by many physical laws, such as gravity, material strength, and more. The world's world is a virtual world, a world without gravity, no air resistance, no friction. This makes software engineering with a great difference in engineering; and the important difference is that people can do various experiments in a software system. This is freedom.
Software is a direct extension of human thinking activities; software integrates human psychology, human beliefs, science, and art. This is also similar to what is similar to the ancient Chinese thinking.
If the reader reads a series of software system design principles explained by this book, it will find that these principles are similar to what the ancient Chinese thinkers in a completely different areas are similar.
Just as quantum physics is the same night before the first century; there is no doubt that software engineering is now in the god of scientific philosophy. People with traditional Chinese cultural traditions have great advantages in this important juncture; because of the existing design principles and patterns of models and the link between China's Taoist thinking.
I hope the solar "Software Engineering Philosophy" can rise from the horizon of the East.
()
references
[PLOP95] James O. Coplien and Douglas C. Schmidt (ED.), Pattern Languages of Program Design, Addison-Wesley, 1995.
John M. Vlissides, James O. Coplien and Norman L. KERTH (ED.), Pattern Languages Of Program Design 2, Addison-Wesley, 1996.
[PLOP98] Robert Martin, Dirk Riehle, Frank Buschmann (Ed.), Pattern Languages Of Program Design 3, Published by Addison Wesley, 1998.
[PLOP99] Neil Harrison, Brian Foote, Hand Rohnert, (Ed.), Pattern Languages of Program Design 4, Published by Addison Wesley, 1998.
[Alex64] Notes on The Synthesis of Form, Harvard University Press, 1964.
[Alex75] The Oxford University Press, 1975. (This book is translated [Alex75Z]). [Alex77] a Pattern Language: Towns, Buildings, Construction, Oxford University Press, 1977 (This book is translated [Alex77z]) .
[Alex79] The Timeless Way of Building, Oxford University Press, 1979 (translated in this book [Alex79z]).
[Alex75z] "Oregon Experiment" (US) C. Alexander M. Silver Worth S. Angel Sichuan New D. Abra Musk, Translator: Zhao Bing Liu Xiaohu, Intellectual Property Publishing House, Publishing Date: 2002-2 -1
[Alex77z] "Architectural Mode Language" (Shang, Brand) (US) C. Alexander S. Ichkawa M. Silver Stan M. Jacobson Z. Fickstar Yijin S. Angel, Translator: Wang listening week, intellectual property publishing house, publishing date: 2002-2-1.
[Alex79Z] "The Eternal Road of Architecture" (US) C. Alexander, Translator: Zhao Bing, Intellectual Property Publishing House, Publishing Date: 2002-2-1.
[Appleton] Brad Appleton, Patterns and Software: Essential Concepts and Terminology, (http://www.enteract.com/~bradapp/)
[Salin] Nikos A. Salingaros, Some Notes on Christopher Alexander,
Http://www.math.utsa.edu/sphere/salingar/c...chris.text.html.
[Ccit] Joseph Boudreaux, Whatcha 'Readin'?, Computing and Communications News, The University of Arizona, Center for Computing and Information Technology, March 2002.
[Hundun] melon, chaos - creation myth's melon restructuring, olive tree literature month, April 2001