如何恢复遗留系统的架构 (PHP)

How to recover architecture of a legacy system (PHP)

我正在尝试恢复遗留架构 system.This 对 me.Up 来说是新事物,现在我已经阅读了许多研究论文,其中大多数研究人员都提出了框架和自动化工具 this.But 我不知道如何从这些框架中选择最好的,或者 tools.All 的研究有一些共同的步骤,如逆向工程和正向工程。 有人可以帮忙吗? 开始遗留系统恢复架构的基础阶段是什么? 基本步骤是什么? 有什么指引吗? 谢谢

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

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

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

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

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