我正在处理一些旧的(比我年长的)C 代码,这些代码需要清理并更新,以便(除其他外)更容易维护并与当前代码更干净地集成。
现有代码相当凌乱,GUI逻辑与业务逻辑和数据访问逻辑随意穿插。唯一的优点是它不是意大利面条式代码,而且它是模块化的(正如 70 年代的大多数代码所趋向的那样)。
我的问题是:任何人都可以为我提供有关如何将代码重构为 MVC 的指南(顺便说一句,我在执行此任务时还将代码从 C 移至 C++ - 但这是我最不关心的问题,因为我对这两种语言都很熟悉)。
顺便说一句,我完全知道这不是一项微不足道的任务。我只想知道从混合 DBAL/BL/GUI 的模块化代码到更干净的 MVC 实现的步骤是什么。
最佳答案
我不相信会有一组明确的步骤,我们所做的将随着现有代码的结构而变化。
我同意@Jesus Ramos 的观点,即找出测试策略是这里的关键。您的问题很可能是代码目前不可单元测试,因为实际上没有“单元”,我们无法测试业务逻辑,比如说,不测试 UI。
我会非常认真地考虑重写而不是重构。
如果您要重构,那么我猜您将采用一种“瑞士奶酪”方法。钻出碎片,留下一个有很多孔的中心质量。因此,提取数据库访问代码,专注于提供清晰的 API 和数据对象集——这些将成为您模型的基础。将 GUI 代码拉出到 View 层中。剩下的是 Controller 逻辑,您可以对其进行重构。
关于c++ - 将遗留 C 代码重构为 MVC 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6854765/