【问题标题】:Model View Controller vs Boundary Control Entity模型视图控制器与边界控制实体
【发布时间】:2015-01-10 17:19:35
【问题描述】:

MVC(Model View Controller)和BCE(Boundary Control Entity)有什么区别,我知道这两种模式很相似,但是有区别,那区别是什么?

【问题讨论】:

    标签: model-view-controller controller entity boundary


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        BCE 是您创建遵循开/关原则、依赖倒置和接口隔离的解耦组件的方式。这是您想要设计应用程序的核心。

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

        每个边界包含两个接口:

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

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

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

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

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

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

        【讨论】:

          【解决方案4】:
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多