实体控制边界(ECB)与模型视图控制器(MVC)

6

我不确定我是否理解正确。

有人告诉我:

边界 = 视图

实体 = 模型

控制 = 控制器

但根据我的MVC知识(模型-视图-控制器)(“胖模型,瘦控制器”),

难道不应该是边界 = 控制器,控制 = 模型(业务逻辑),实体 = 模型(ORM类或类似的实体类,只进行CRUD操作)吗?

我可能错了,请指导!

3个回答

7

这两者非常相似,主要区别在于MVC通常用于用户界面设计,而ECB最常用于业务逻辑。Adam Bien因其推广ECB而闻名,这里是他的演示,帮助我理解两者之间的区别。


4

事实上,你的第一个定义是正确的。有时单词的意思会令人困惑,下面的链接证实并总结了两种模式(将ECB命名为MVC的一种变体): 实体-控制-边界模式


1
您的解释是正确的。但它们并不相似。MVC 是用于用户交互的。业务规则不直接绑定到用户,甚至不绑定到像互联网这样的 I/O 设备上。ECB 模式用于将业务实体与边界(mvc 框架、ORM 等)分离。实体是业务对象,它们对数据库、orm 一无所知。控制不是像 MVC 中的控制器那样,它可以是表示用例的命令。只有 Control 可以访问业务实体。业务实体是一个独立的世界,完全隔离于 MVC 层之外。它可以是一个具有模式、原则、类型和自己分离层次的业务框架,不希望与任何与 I/O 相关的东西进行交互。
我们可以将 MVC 与 ECB 组合如下: Controller [Boundary] <-> Control (use case) [Control] <-> Business entities [Entity] <-> Other business entities [Entity]>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接