The three most critical ways of thinking for a Java architect and the rational use of the framework

I haven’t written an article about thinking for a long time, especially after writing the logic and framework of thinking, I don’t really want to write about the theoretical level, but it takes more time to write about the actual case level, and the case is basically in IT Not everyone understands the field of expertise.

1. From tight coupling to loose coupling (the ultimate goal of decoupling is flexible assembly and matching)

The three most critical ways of thinking for a Java architect and the rational use of the framework

In software design and development, we often talk about loose coupling and decoupling. The reason is to ensure that each module is fully autonomous this year and is minimally affected by other external modules. In the SOA architecture, when it comes to loose coupling, the core reason is that loose coupling is the basis for flexible composition and orchestration.

The ultimate purpose of thinking is to solve problems. When we face a specific problem and solve it, there are problems and solutions:

Problem A->Solution A

That may store such a relationship in our minds, that is, when we encounter problem A, we use solution A to solve it. If we store this kind of information in our minds, that is what we call tight coupling. Imagine that there are thousands of problems. How many solutions and knowledge points do we have to store? This approach to exhaustion and massive memory storage is clearly unrealistic. So what do we actually do? That is, breaking down the solution into fine-grained knowledge points.

Problem A-"Solution A (knowledge point A1, knowledge point A2, knowledge point A3)

That is, the solution of any problem is the combination and assembly of existing knowledge points. The problem and knowledge point time are completely loosely coupled, and the solution is just a flexible combination of knowledge points. As long as we have the most basic knowledge points, we are not afraid of any form of problems.

Just like I talked about pre-sales technical proposals before, the bidding requirements of customers vary widely, but you only need to have the basic knowledge (business plan, technical plan, deployment plan, implementation plan, operation and maintenance, personnel, case, quotation template) and other basic knowledge You can deal with all the pre-sales solutions. The only thing you need to do is to decompose the customer's bidding requirements or needs into demand points one by one, and at the same time map these demand points to your existing knowledge points.

Through decoupling, we do not need to store and memorize a large number of coarse-grained solution content. We only need to decompose the relationship problem into the existing knowledge points, and we only need to cultivate the ability to assemble and arrange the knowledge points according to the problem. Can. It is also for this reason that after solving any problem, you must think about what reusable knowledge points can be added to your knowledge base, rather than storing the solution to the problem in the repository.

2. From static to dynamic (the purpose of dynamic is to know what is and why)

The three most critical ways of thinking for a Java architect and the rational use of the framework

The second point we want to talk about is from static to dynamic, because recently we found a key problem when reviewing PPT report materials, that is, there is more static content, but less dynamic content, and more final results and less analysis process.

When talking about PPT production, I once talked about that there are only two types of PPT presentations, one is dynamic presentation (stages, processes, activities, evolution), and the other is static presentation (composition, architecture). These two types of presentation must be combined with each other. Relatively speaking, dynamic presentation is more important. Only dynamic presentation can explain how the various components of a thing actually work, and only by understanding the inner workings can you understand the internal mechanism of things.

The same is true for returning to our thinking logic from the presentation of PPT.

When we go to understand anything, we must pay attention to the fact that we may only understand the structure and composition of things in the early stage, but if you really want to understand things deeply, then you must change from this static composition to dynamic composition process research. That is, how did things dynamically evolve to the current structure? Only then can you gain insight into how the various components within things work together.

We tend to focus so much on results that we forget to focus on this scientific thought process. In fact, no matter how good the results themselves are, they are not replicable, but only the scientific thinking process and methods themselves can be replicated. Just because you get a good result doesn't mean you're awesome, there are a lot of coincidences; but when you get to such a result through a good method and process, the process itself has the ability to draw inferences from other facts. ability.

It turns out that I wrote an article about the poison of search engines. Why do I talk like this? For all kinds of strange questions, you can search for the answer and solve it immediately when you go to the Internet, then at this time you will not go to the bottom of how the answerer analyzes and thinks to get the answer, that is, you can search for the answer at any time. , but you didn't learn how to think and solve problems.

How to analyze from the static answer to finding the answer itself is also a static to dynamic process.

3. From generalization to abstraction (the purpose of abstraction is to minimize memory and provide entry for deduction)

The three most critical ways of thinking for a Java architect and the rational use of the framework

In the Internet age, what people compare with each other must not be memory ability, but problem analysis and solving ability. The most important point in this ability is that when you get a problem, you know where to start to solve it, that is, where is the entrance to the problem.

As I mentioned earlier, the Internet is a massive knowledge base that everyone can access. You may also have a large experience base in your own computer. So much information must not need to be memorized, what needs to be memorized is only the index that can access knowledge. In layman's terms, when a problem comes, where do you know where to get the most information that can solve the problem.

Generalization and abstraction, instances and classes are some of the words in the IT field. But these words apply equally to the realm of thinking. What you usually see, practice, and learn a lot of knowledge, all you need to do is to summarize and abstract, form your own conceptual model, and form the smallest knowledge set that you can remember. This knowledge set is finally the index. information.

Follow me and send "Java" via private message to get free architect learning materials:

The three most critical ways of thinking for a Java architect and the rational use of the framework

You can also add my Java architecture/distributed Daniel exchange group: 697579751 (don't add without development experience!)

With the index, we can follow the map.

An index is analogous to the highest level of abstraction in software design, the definition of an interface. There are only methods in an interface, no concrete implementation. And the index is the truth, we only need to know what method should be used to solve different problems, and how is this method solved? We don't need memory, we just need to find material that we store or store online.

What kind of methods should be used to solve different problems in different scenarios is exactly what we have talked about in our thinking, and the most valuable capabilities for a person, that is, models and methodology. All practice we are accumulating our own pattern library and matching library.

For example, if you used to do development work, you switch to software requirements and business consulting work, and your pattern library is updated once.

If you change from being a consultant in the financial domain to being a consultant in the supply chain domain, your pattern library will be updated twice, and there will be no problems with the subsequent transfer.

One life is two, two is three, three is all things, but all things cannot be exhausted and understood. What we need to do is to remember the index of 1.

Guess you like

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