【问题标题】:Entity Control Boundary (ECB) vs Model View Controller (MVC) [duplicate]实体控制边界(ECB)与模型视图控制器(MVC)[重复]
【发布时间】:2015-10-02 17:09:06
【问题描述】:

我不确定我是否得到了正确的概念。

有人告诉我

边界 = 视图

实体 = 模型

控制 = 控制器

但是基于我对 MVC 的了解。 (胖模型,瘦控制器)

难道不是 Boundary = Controller、Control = Model(业务逻辑)和 Entity = Model(只做 crud 的 orm 类或类似的实体类)。

我可能错了,请指导我!

【问题讨论】:

    标签: model-view-controller uml use-case ecb-pattern


    【解决方案1】:

    两者非常相似。主要区别在于 MVC 通常用于用户界面设计,而 ECB 最常用于业务逻辑。 Here's a portion of a presentation 由以推广欧洲央行而闻名的 Adam Bien 撰写,这帮助我了解了两者之间的区别。

    【讨论】:

      【解决方案2】:

      其实你的第一个定义是完全正确的。单词的含义有时令人困惑。以下链接确认并总结了这两种模式(将 ECB 命名为 MVC 的变体):The Entity-Control-Boundary Pattern

      【讨论】:

        【解决方案3】:

        你的解释是正确的。但它们并不相似。 MVC 用于用户交互。业务规则不直接绑定到用户,甚至不绑定到互联网本身这样的 I/O 设备。 ECB 模式用于将业务实体与边界(mvc 框架、ORM)分离。实体是业务对象,它们对数据库、orm 一无所知。控件不是 MVC 中的控制器,它可以是表示用例的命令。只有控制方可以访问业务实体。业务实体是他们自己的世界,与 MVC 层完全隔离。它可以是一个具有自己的模式、原则、类型和分离层的业务框架,它不希望与任何与 I/O 相关的东西进行交互。

        我们可以像这样将 MVC 与 ECB 结合起来:

        User <-> Controller [Boundary] <-> Control (use case) [Control] <-> Business entities [Entity] <-> Other business entities [Entity]

        【讨论】:

          猜你喜欢
          • 2015-01-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-01
          • 2013-12-06
          • 2015-01-19
          • 2011-11-22
          • 2015-10-22
          相关资源
          最近更新 更多