我正在尝试用 Delphi 2009 实现一个轻量级的 mvp 框架。
视图是被动的,但支持数据绑定(通过接口属性)。
我面临着一个两难境地:我有几个非常相似的视图/演示者/模型三合会,即:
订单表单和客户表单 = 行为和逻辑相同,但数据绑定的数据源不同,表单标题也不同。数据源是我所有模型的公共属性,所以这不是问题,要设置表单标题,我不得不在我的演示者InitView
方法中对其进行硬编码
一切都很好,但我的情况是我有几个非常相似的简单 mvp 三元组。我想重构它,但在这种情况下,我必须将一些参数传递给 mvp 构造函数。
到目前为止,我正在这样做:
- 创建视图
- 创建模型
- 在构造函数中创建演示者并注入模型和视图
事实上,我面临着一个选择:
- 有一些非常通用的视图/演示者,像那样使用它们,但在构造函数中注入 1 或 2 个参数
- 拥有一些视图/演示者超类,并从中派生我所有类似的视图/演示者,并在覆盖的方法中设置一些特定值。
你能给我一些提示/建议吗?
(对不起,如果我不是很清楚)