laitimes

Goodbye, old system! | Geek time

First of all, I would like to ask you to take a look at this picture

Goodbye, old system! | Geek time

This is a diagram of the interaction between the core application system modules of a bank, and I guess no one wants to work on such a system, right?

The architecture is chaotic, the responsibilities between the modules are unclear, and one requirement requires the modification of four or five services, which is the legacy system, leaving us with the problem.

Legacy systems and architectures

The role of a software architecture is to solve the problem of collaboration between multiple business modules. However, if the architecture is chaotic, multiple modules are called back and forth, and the data is accessed at will, the boundaries between the modules will become blurred and the ownership of the data will become ambiguous.

In fact, the architectural reconstruction of the legacy system can be divided into two types of models: "transforming the old city" and "building a new urban area".

The transformation of the old city model refers to a series of models that govern the modules inside the legacy system, make the internal structure of the modules reasonable, and have clear responsibilities between the modules.

The new urban construction model refers to a series of patterns in which a module inside the legacy system is split outside, or a new requirement is implemented outside the legacy system.

How legacy systems can be fully "remodeled or rebuilt"

Many engineers have also encountered legacy systems, which are quite painful, worrying about clueless code and chaotic architectures every day, and new requirements come without knowing where to start. Retrofitting and replacing is a high-risk operation, what retrofit principles should be followed? Refactoring or rewriting, how to choose?

Here to share with you, a session of Thoughtworks senior consultant "Yao Qilin" sharing the method of reconstructing the legacy system, about 4 minutes

To put it simply, first of all, you have to sort out the fundamental problems of the legacy system and find the entry point

Secondly, a comprehensive understanding of the transformation process, knowing it, and knowing why it is so, just like this picture.

Goodbye, old system! | Geek time

Split legacy system modules in 6 steps, i.e.: Hypothesis-driven Clear measurements Determine architectural goals Establish evolution progress Evolve in iterative increments Validation

"Yao Qilin" Thoughtworks Senior Consultant, Translator of Technical Books. He has over 10 years of experience in software development, design and architecture. In recent years, it has continued to improve in the modernization of enterprise legacy systems, domain-driven design, agile software development, clean code and refactoring, and empowered the R&D team of the enterprise through theoretical guidance and practical exercises. Participated in the translation or review of several technical books, including Domain Specific Languages, and . NET Performance Optimization" and more than 10 books.

Recently, he wrote a special column entitled "The Actual Battle of Modernization of Legacy Systems"

This paper analyzes the characteristics and problems of legacy systems, explains the principles, patterns, and best practices of legacy system modernization, and solves the difficult problems of legacy system governance from the four directions of code, architecture, DevOps, and team modernization.

Less than 2 weeks after going online, 1300+ people have learned, using the preferential password "xitong999", immediately reduced by 10 yuan

Or you can directly buy a geek time super membership, the first month of 6 yuan, you can watch this class for free

With a brief introduction, he divides the legacy system into 4 chapters:

Goodbye, old system! | Geek time

The Basics: Why We Should "Modernize" Legacy Systems

Principles: Based on the premise of reducing cognitive load, guided by hypothesis-driven, and incremental evolution as a means

Modes: 20+ classic modes, as well as practical modes from the front-line practical summary, to help you divide and conquer. Without specifically speaking, the picture is very clear

Practical: We will take you to modernize a typical legacy system

How dry there are, take a look at the column catalog below

Goodbye, old system! | Geek time

Perhaps, there are no legacy systems on your current project, and all the systems are vibrant and peaceful. However, beneath the surface of the peace, there may be hidden waves.

Perhaps, you are obsessed with new technologies, but the new ≠ good, only by mastering the method of solving the problem, can you not be afraid of any problem. Instead of using new technology as a hammer, look at any problem is a nail.

Scan the code to try reading

Read on