|
|
1
4
正如许多这样的问题(主观的)的答案是:“这取决于。” 如果“默认值”是业务默认值(例如,业务位置的默认位置,或订单上的默认单位数等),则可能是业务层。这似乎对你在这里的具体情况是正确的。 但是,如果列表的“默认值”仅仅是因为您需要一些值作为默认值,而您只需要选择索引0,或者只需要根据用户的位置或系统设置进行选择,那么我认为这将是表示层问题。 |
|
|
2
3
在您的示例中,这是业务逻辑,但这不会阻止您在本例中也吃蛋糕。模型可以指定一个默认值;然后视图用这个默认值初始化自己。 一般来说,什么东西是“业务逻辑”还是“表示逻辑”取决于它是否涉及到域。例如,将日期下拉列表中的最早年份设置为1900,可能是一个表示问题。但如果系统不接受1900年以前的日期,这也可能成为一个商业问题。
使用上面提到的策略,单元测试很容易。只需验证:
|
|
3
0
我本以为默认值是业务逻辑。 例如,如果公司重新定位,则默认位置不再是“Altanta”或“London”,而是“New York”或“Nottingham”。 |
|
|
4
0
如果您真的关心保留业务规则和表示层的边界,那么您可以 提供 通过业务逻辑和表示层的默认值可以使用该默认值初始化控件。 |
|
|
Medet · 即使没有屏幕旋转,也保持ViewModel活动 8 年前 |
|
|
saradindu samal · 实现MVP设计模式的正确标准是什么 8 年前 |
|
|
Sermilion · 安卓:MVP。组件间通信的正确方式 9 年前 |
|
|
tur · CachingActivityMapper有什么意义? 10 年前 |
|
|
Jacob Phan · MVC模式。模型、视图和控制器之间的关系 11 年前 |
|
|
Lahey · MVP:被动视图(带EF)和图层 12 年前 |
|
|
Milambardo · MVP演示者在回发后订阅了活动 13 年前 |