【发布时间】:2012-05-12 04:16:17
【问题描述】:
我将显示一个视图模型的网格class M {string A, int B, float C, int D, .....}:
- 如果数字为负数,则以红色显示。
- 如果
A is in 'xxx', 'zzz' and B = 0 or D > 200...高亮单元格的背景 - 如果
E > 100 and F < 0....,则将行的背景设置为灰色
这些是否被视为业务逻辑?如果有,这些逻辑放在哪里?对于(3),我猜可以在视图模型中创建一个新的只读属性?但它让 M 不再是 POJO/POCO 了吗?我读到业务逻辑应该在域对象中。域对象是否使用 POJO/POCO 实现?
是否有任何代码示例显示了业务逻辑如何存储在域对象中?
【问题讨论】:
-
看起来像是特定于视图的逻辑。您可以将条件参数(例如 E>100 和 F
-
同意,我也会将此逻辑放在视图上。
-
是的,将条件参数转换为视图模型属性并在您的领域层中做出决定对我来说是个不错的选择。
标签: model-view-controller design-patterns architecture model