I learned computer development with a clear purpose, that is, I ran into the "architecture. Of course, I didn't know this term at first. I thought I was just going to learn how to be a website.
I learned computer development with a clear purpose, that is, I ran into the "architecture. Of course, I didn't know this term at first. I thought I was just going to learn how to be a website. When can I learn? At first, I thought it would be enough for three months, and then it would be extended to six months, and then to one or two years ...... Until now. In this process, I have a profound understanding of "endless learning", or "The more I learn, the more I feel ignorant.
Three years ago, I felt that I should be qualified to show off my skills, but I was getting confused, so I had to explore and practice again. Unexpectedly, three years have passed in this groping practice! Three years later, I am more confused than I did three years ago: Some of the ideas I believe in have become hesitant, and some of the ideas I have never had come out from time to time, the new technology has a violent impact on the old system ...... Will I be mistaken?
After thinking about it, I made up my mind to start the series again. I believe that even in the next 30 years, I will not become a perfect architect with a perfect architecture. Therefore, there is no need to wait until "perfect", nor can there be real "perfect ". Now, let's show what I learned and what I learned. it's easy to interact with everyone.
The architecture is too difficult! To be accurate, it is too difficult to make the architecture well.
I once divided my skills into two categories: Yes and good. For example, "I can write" and "I can write well" are two different realms. "Yes" is actually very easy, but "good" is very difficult. Unfortunately, architecture is a skill field that focuses on "good" rather than "will. Any system has an architecture, regardless of its size or quality. Therefore, as long as a system can be developed, it has already "met" the architecture. But our focus is clearly on how to build a "good" architecture. This question is so difficult to answer that I have not found a book dedicated to this question. The classic Enterprise Application Architecture model is more like an architecture compilation that tells us which architecture models are available (of course, we cannot deny its great value ); other similar books do not actually give clear answers. On the Internet, related problems often evolve into a "war of words", which makes people dazzled and ultimately do not know where to go.
I can't find the source of this passage, but the general idea is: why is it so difficult to explain the architecture (for example, why is it necessary to abstract and encapsulate layers )? If there is not an example of complex logic enough, the benefits of doing so will not be displayed; but if there is an example of complex logic enough, I have to spend a lot of time explaining this complex logic first. after the readers understand these complicated business logic, it is difficult to think about the technical problems of the architecture.
So I finally decided to use this method to learn: to build a system with enough complex business logic, and to learn and understand various architecture knowledge step by step in practice. This is a very stupid method, but it is indeed a very effective method. With the continuous development and improvement of the system, many statements in the book have been confirmed, and many of my previous ideas have been changed. Every time I write a line of code, I can feel my progress! Software development is an art of practice. it is often better to practice it as you sit down and talk about it. as a saying goes, "You have to get a glimpse of it on paper, and you must know that it is necessary ".