经过多年将 Delphi 程序编码为表单和数据模块中不可测试的代码(包括全局变量),唯一的类是表单本身,包含表单 UI 本身所需的所有代码。
如何将代码转换为一组执行实际工作的类?我是否需要停止使用数据源/数据集并在类中执行所有操作?我需要 ORM 吗?
通常零需要重用表单中的代码,因此将逻辑转换为类有意义吗?
最佳答案
如果我遇到一个有太多责任的表单(或其他类),我通常遵循以下模式:
- 为逻辑定义一个新类。
- 在表单中创建新类的成员变量。
- 在 onCreate 中创建类并在表单的 onDestroy 中释放它。
- 将单段逻辑(例如变量)移至新类。
- 将所有方法移动或创建到新类。
- 编译并测试。
- 继续,直到所有逻辑都放入新类中。
- 尝试将逻辑类与表单类解耦。 (如果您愿意,您甚至可以使用界面)。
有些情况下单个类是不够的,所以创建多个类也没有问题。这些类可以有其他类。
通过这些步骤,您可以解决大部分问题。
关于delphi - 如何/如果仅使用表单和数据模块重构 Delphi 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/549369/