Architecture Talk (2): Recognizing concepts is the basis for understanding architecture

Architecture Talk is a series of columns written by Kevin Wang, a senior architect. Based on Kevin's experience in architecture, the column will gradually discuss what architecture is, how to do it well, how to implement software architecture, and how to write programs well. The purpose of the column is to hopefully throw out some points and get people thinking.

This article is the second part of the column on architecture. The author discusses the misunderstanding of concepts through several examples, how to effectively recognize concepts, understand the meaning behind concepts, and how to use the understanding of concepts to learn quickly.

In the previous article, we discussed what architecture is. In fact, these basic concepts are very important for building architecture. Most people think they understand the concepts that they are accustomed to every day, but they are actually subconscious, not active understanding. For example, "What is a table?" When doing training, I often use this example to ask everyone, and the answers are all kinds of strange. This actually leads to a lot of problems in the communication of different roles when doing architecture, so the results can be imagined.

As mentioned in the previous article, architecture actually solves people's problems, and concepts are the basis for people to understand the world. The understanding of natural concepts is very important. This article attempts to discuss how to recognize concepts. Of course, this is not an article on linguistics. What I discuss here may not be the same as linguistics. If you are interested in linguistics, you can also refer to it.

First of all, I would like to state that this series of articles are all based on people's cognition, and the solutions are all people's problems. Any part that is not specifically stated has this background, so as to avoid misunderstanding. .

Concepts also belong to the means by which people know the world and use to communicate, including the concept of "concept", which is also the same. In ancient times, it was not called "concept", but "name and appearance".

What is phase?

Generally, we think that when we see a thing, such as a cup, "cup" is a name, and the thing we see is the appearance, which is the appearance of things. As soon as we hear the word "cup", an image of a cup comes to mind. The word "cup" is used to refer to this phase, which is called name. Together they are called "names".

But when we break the cup, do we still call the broken thing a cup? Certainly not, it is usually called "shattered tiles". If we grind up the broken tiles, the name will change again and it will be called "sand". This is strange, how can the same thing have so many names?

So what exactly is a picture?

In fact, "xiang" does not express a specific thing. For example, a porcelain cup mentioned above does not refer to the porcelain, but a function played by the porcelain: it can be held in one hand, with an open mouth (generally no more than the bottom). The size is too big to be called a bowl), and there is a space inside for such a function of things. Not referring to the porcelain itself. That's why when we see a person on TV holding a cup, we know it's a cup. But in reality all we see is light and shadow. Therefore, the phase actually represents this function, not something specific, but the name is used to identify this function and to communicate.

Why is this function needed?

This function is actually to solve the problem of "people need one that can be held with one hand, but want to avoid direct contact with the objects they hold".

Therefore, what each concept actually solves is a specific problem encountered by people. We give the solution to the problem a name, and this name corresponds to a specific concept. As for the word concept itself, in order to refer to these names uniformly, we call the name that plays such a role as "concept". The "architecture" we discussed last time is the same specific concept and will not be discussed in detail here. Likewise, what is "architecture"? "Architecture" actually solves the problem of "people need exclusive space and can communicate with the outside world more smoothly".

Take the previous "table" as an example, what is a "table"? Many people answered, four legs, or legs, a plane, and so on, isn't that the case with cabinets? Why don't we think it's a table when we see a cabinet? Even if we eat on the cupboard, we still see it and ask, why eat on the cupboard? Will not call a table. If you understand the above truth, it is very simple. The table is actually to solve the problem of people sitting on a chair, and their hands can still be supported on a plane to continue their activities. It is usually paired with a chair. Sitting in a chair to work and facing the cabinet has a very serious problem - I don't know if you have tried it - the problem of the legs not being able to spread. When sitting like this for more than half an hour, you know what the pain is. So there must be enough room for knees and calves below the flat surface of the table to solve this problem. A device that solves these problems can be called a table.

Similarly, chairs can also be defined. It can be seen that the heights of tables and chairs are also limited, both of which are to solve people's problems and must conform to the height of people: the height and depth of the chair must conform to the length of the calf and thigh; The height of the back should match the height of the spine; the height of the table should match the sum of the heights of the calf and the spine; there is a natural difference between adults and children. This becomes physiology again. In fact, in order to make a good table and chair, one must understand the physiological structure of human beings in order to correctly understand the concept of table and chair.

In the same way, why we can translate between different languages ​​is because although the languages ​​are different, the problems faced by human beings are the same, and the names used are different. The same is true for translation between different animals.

About abstraction

In the process of discussing the concept of table, many people will put forward the concept of abstraction, thinking that defining a table is actually a process of abstraction. Here, I think it is necessary to clarify the concept of abstraction. I think there is a misunderstanding in this. I've noticed that in the architect community, it doesn't seem like you're a qualified architect without talking about abstraction.

The meaning of the word abstract is actually combining similar parts of different concepts to form a new concept. There are many problems in this: firstly, the "similar parts" are not necessarily so similar to different people; secondly, a new concept is formed after abstraction, which is different from the original concept, and the problem it solves is not the same. Same. So we can't use abstraction to define a thing, abstraction is actually a process of classification, which is another matter entirely. To give another example, cups and containers, many people think that containers are the abstraction of cups, but in fact cups are cups and containers are containers, and the problems they solve are different. When we need to solve the problem of filling things, we will say containers; when we need to solve the problem of holding things in one hand, we will say we need a cup.

Looking back, according to the definition of architecture, the first ability that must be possessed in order to do a good job in architecture is to be able to correctly understand concepts, to be able to discover the problems behind the concepts, and then to be able to understand the problems that need to be solved in the target field. Can lay the foundation for a good architecture. In fact, this ability is applicable in any field. For example, if we want to learn a new technology, such as Hibernate, Spring, PhotoShop, WWW, Internet, etc., if we know the problems to be solved by these concepts, Learning these new technologies or concepts will be more powerful and start quickly; learning a new field will be very fast and effective; using these concepts to explain problems, or even invent new concepts is very easy. Why emphasize this? Because when doing architecture, we are often solving problems in a new field. We must quickly enter and master this field before we can solve problems correctly.

Through a few examples above, I discussed the misunderstanding of concepts, how to effectively recognize concepts, understand the meaning behind concepts, and how to use the understanding of concepts to learn quickly. Mastering these principles will help us to quickly identify and locate problems in the architecture phase.

In the next article, we will discuss how to quickly locate and identify problems, which is the beginning of the architecture.

Thanks to Guo Lei for planning and reviewing this article.

Finally, I sorted out some learning materials, follow me, send a private message: "Java", you can get the following materials for free 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325336878&siteId=291194637