首页 > 解决方案 > 如何恢复遗留系统的架构(PHP)

问题描述

我正在尝试恢复遗留系统的架构。这对我来说是新事物。到目前为止,我已经阅读了许多研究论文,其中大多数研究人员为此提出了框架和自动化工具。但我不知道如何选择这些框架或工具中最好的。所有研究都有一些常见的步骤,如逆向工程和正向工程。有人可以帮忙吗?开始遗留系统恢复架构的基础阶段是什么?基本步骤是什么?有什么指导方针吗?谢谢

标签: architecturereverse-engineeringlegacyrecoveryforward-engineer

解决方案


在转换遗留系统时,您必须牢记技术和团队。您必须进行的更改将进入应用程序的核心,如果开发团队不参与更改,这将是一个漫长而缓慢的迁移。

改造遗留系统的关键是依赖注入和服务定位。第一步是安装一个依赖注入容器并向容器中添加一个类(Logger 始终是一个很好的第一服务)。

下一步是添加服务定位器。构造函数注入是新建项目的最佳方法,但对于遗留应用程序,一开始是不可能的。使用服务定位器,您可以从任何地方访问注入容器,从而在需要的地方进行服务解析。有了这个,您可以扫描并用记录器解析代码替换记录器创建代码。

记录器替换是 DI 如何工作的一个很好的例子,所以向团队演示这个。确保团队彻底理解这些概念!该过程的其余部分在很大程度上取决于 DI 和服务位置。

DI 容器打破了遗留系统中的紧密耦合,因此您可以将事物分开。开始寻找可以将应用程序分解成更小部分的接缝,这样您就可以引入单元测试。这也将为 DDD 迁移、微服务、EDA 或您计划的任何目标架构奠定基础。


推荐阅读