我不确定我是否有正确的概念。
人们告诉我
边界=视图
实体=模型
Control = Controller
但是基于我对MVC的了解。 (胖模型,瘦控制器)
不是Boundary = Controller,Control = Model(商业逻辑)和Entity = Model(orm类或类似的实体类,只做crud)。
我可能错了,请指导我!
答案 0 :(得分:2)
实际上你的第一个定义是正确的。词语的含义有时令人困惑。以下链接确认并总结了这两种模式(将ECB命名为MVC的变体):The Entity-Control-Boundary Pattern
答案 1 :(得分:2)
两者非常相似。主要区别在于MVC通常用于用户界面设计,而ECB最常用于业务逻辑。以促进欧洲央行闻名的亚当·比恩Here's a portion of a presentation帮助我理解了两者之间的区别。
答案 2 :(得分:0)
您的解释正确。但是它们并不相似。 MVC用于用户交互。业务规则不直接绑定到用户,甚至不绑定到Internet本身的I / O设备。 ECB模式用于将业务实体与边界(mvc框架,ORM)分开。实体是业务对象,它们对数据库或orm都不了解。该控件不是像MVC中那样的控制器,它可以是代表用例的Command。只有控件可以访问业务实体。业务实体是一个独立的世界,与MVC层完全隔离。它可能是一个业务框架,具有自己的模式,原理,类型和单独的层,不希望与任何与I / O相关的交互。
我们可以像这样将MVC与ECB结合:
User <-> Controller [Boundary] <-> Control (use case) [Control] <-> Business entities [Entity] <-> Other business entities [Entity]