为什么我们不应该在UI层中嵌入业务逻辑?

时间:2011-04-20 18:32:47

标签: model-view-controller design-patterns

嗯,我能想到的唯一一点就是它提供了更少的可用性。更难区分代码和UI逻辑。 从MVC架构中,我们不应该在UI Layer中使用域逻辑吗?

5 个答案:

答案 0 :(得分:2)

除了其他人所说的,它导致代码几乎不可能进行单元测试。另外,代码的设计紧密耦合并且具有低内聚性。这两个属性可能导致大型代码库的维护噩梦。

答案 1 :(得分:1)

因为您的UI可能会随着时间而改变。但业务逻辑保持不变。 或者,您可能想要更改逻辑,但保持外观。

将它们混合在一起只会使应用更改变得困难并且容易出错。

答案 2 :(得分:0)

分离问题有几个重要的好处:

  1. 如果它们在物理上是分开的,那么理解不同的功能会更容易
  2. 更换松散连接到系统的模块更容易
  3. 如果您需要一次只考虑一个抽象级别,那么修改代码会更容易。
  4. 数字2在这里特别相关:将业务逻辑与UI分离意味着您可以为同一个后端拥有多个UI(Web,桌面,移动设备)。

答案 3 :(得分:0)

将业务逻辑放在UI层中会使业务和UI逻辑更难理解,并限制独立更改/重用业务和UI逻辑的能力。在实践中,想要独立地改变/重用这些问题是很常见的,因为从概念上讲,它们甚至不是切向耦合的。

答案 4 :(得分:0)

假设您创建了一个大型Web应用程序并将其置于View all business logic(BL)中,有一天您的客户表示需要更改应用程序并转移到Desctop应用程序,那么迁移所有代码将很困难。 如果从视图中分离BL代码,它具有以下好处: 1.易于测试代码 保持 改变 4.和规模,你不违反关注分离原则