oom*_*pah 8 c c++ model-view-controller
我正在研究一些OLD(比我的旧版本)需要清理和更新的C代码,以便(除其他事项外),它更容易维护并与当前代码更干净地集成.
现有的代码非常混乱,并且可以自由地将GUI逻辑与业务逻辑和数据访问逻辑交织在一起.唯一的优点是它不是意大利面条代码,而且它是模块化的(因为大多数代码来自七十年代).
我的问题是:任何人都可以向我提供关于如何将代码重构为MVC的指南(顺便说一句,我也在执行此任务时将代码从C转移到C++ - 但这是我最关心的问题,因为我我非常喜欢这两种语言).
顺便说一句,我完全清楚这不是一项微不足道的任务.我只想知道从混合DBAL/BL/GUI到更清洁的MVC实现的模块化代码的步骤.
我不相信可以有一组明确的步骤,我们所做的将随着现有代码的结构而变化。
我同意@Jesus Ramos 的观点,即找出测试策略是关键。您面临的问题可能是代码当前不可进行单元测试,因为实际上没有“单元”,我们无法在不测试 UI 的情况下测试业务逻辑。
我会非常认真地考虑重写而不是重构。
如果您要进行重构,那么我的猜测是您将采用一种“瑞士奶酪”方法。钻出碎片,留下带有许多孔的中心质量。因此,提取数据库访问代码,专注于提供清晰的 API 和数据对象集 - 这些将成为模型的基础。将 GUI 代码拉出到视图层。剩下的是控制器逻辑,您可以对其进行重构。
| 归档时间: |
|
| 查看次数: |
296 次 |
| 最近记录: |