模型视图控制器与边界控制实体

时间:2014-11-13 14:18:47

标签: model-view-controller controller entity boundary

MVC(模型视图控制器)和BCE(边界控制实体)之间有什么区别,我知道这两种模式是相似的,但是有区别,那有什么区别?

4 个答案:

答案 0 :(得分:15)

BCE vs. MVC vs. 3-Tier

BCE由Ivar Jacobson(爱立信公司)于80年代出版,其重点是分离面向对象系统中元素的职责。 MVC由Trygve Reenskaug(XEROX Co.)在70年代出版,专注于实现可选择的用户界面。

答案 1 :(得分:5)

Adam Bien的

Here is a discussion of ECB,其中包括MVC和ECB之间的区别。 Adam说ECB是一个“美化的MVC”,ECB更常用于业务逻辑,而MVC更常用于用户界面。

答案 2 :(得分:0)

BCE是创建遵循打开/关闭原理,依赖项反转和接口隔离的分离组件的方式。这就是您设计应用程序核心的目的。

BCE由以下元素组成:边界到其他组件,逻辑控制器和业务实体

由两个接口组成的每个边界:

  • 一个输入接口,仅负责公开其他组件需要知道的业务逻辑方法(接口隔离)
  • 一个输出接口,它负责不将业务逻辑耦合到特定组件的实现,而是使它逻辑定义契约,而其他组件则适应它(依赖反转+观察者)

注意:您应该努力使您的边界变得笼统和抽象(即,不要在界面中泄漏具体细节)。理想情况下,您应该能够在不破坏接口或核心业务逻辑代码的情况下,用其他组件替换外部组件。

每个控制器都包含用例的逻辑。这是应用程序专用逻辑所在的地方。

实体代表业务对象,例如发票,客户,报告和其他域对象。它们本质上是数据结构,但包含的代码并非特定于特定用例。例如:invoice.addItem()。

控制器将从输入边界接收指令,以协调实体以更新应用程序状态,产生一些结果并将其发送到输出边界上。

我不了解MVC,所以我只回答了一半

答案 3 :(得分:0)

相关问题