【问题标题】:Migrate Legacy Application to Symfony2将遗留应用程序迁移到 Symfony2
【发布时间】:2014-12-09 06:41:28
【问题描述】:

我有一个带有自定义框架的应用程序,它在 7 年前就已经很老了,使用的是旧技术和设计模式。

我们正面临问题。 我们正在使用 DAO 层来访问数据对象,并且由于业务需求变得如此复杂,DAO 不再能够满足业务需求,我们正在考虑使用 Symmfony2 和 Doctrine2。

但问题是: 应用程序真的很大。 超过 7 年的开发和添加功能。 大约 11.500 个文件和文件平均 1500 行。

我知道这不是一件容易的工作,但我确信有一种方法可以迁移或至少暂时使用 Doctrine 而不会损害遗留代码。

请指教。 谢谢。

【问题讨论】:

    标签: php symfony doctrine-orm migration dao


    【解决方案1】:

    您的问题没有简单的答案。处理遗留代码总是很困难。

    如果可能,您应该将 Symfony 包裹在您的应用程序周围。在您的应用程序周围实现命令或外观模式,并让 Symfony 控制器调用这些类。

    尝试使用存储库模式分离您的 DAO 访问层。不是 Doctrine 存储库,而是特定于您的应用程序的自定义存储库。当您将存储库与应用程序的接口分开时,您可以对它们逐一进行原则实现。

    值得考虑将您的应用程序与 Symfony 分离,这样您将来就不会遇到此类问题。

    另外,如果可以的话,尝试编写尽可能多的测试,这将使您将来更容易重构。

    我写了一篇博文,里面有一些关于如何从框架here 中分离出来的技巧。相同的模式适用于存储库。

    【讨论】:

      猜你喜欢
      • 2022-09-23
      • 2017-08-20
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多