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

问题描述 投票:10回答:4

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

model-view-controller controller entity boundary
4个回答
16
投票

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


6
投票

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


1
投票

BCE是如何创建遵循开/关原则,依赖性反转和接口隔离的解耦组件。这是您想要设计应用程序核心的内容。

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

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

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

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

每个控制器都包含用例的逻辑。这是特定于应用程序的逻辑。

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

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

我不知道MVC,所以我留下这一半回答


© www.soinside.com 2019 - 2024. All rights reserved.