我不确定我是否得到了正确的概念。
人们告诉我
边界=视图
实体 = 模型
控制 = 控制器
但是基于我对 MVC 的了解。(胖模型,瘦控制器)
不是 Boundary = Controller, Control = Model(业务逻辑)和 Entity = Model(仅做 crud 的 orm 类或类似的实体类)。
我可能错了,请指导我!
我不确定我是否得到了正确的概念。
人们告诉我
边界=视图
实体 = 模型
控制 = 控制器
但是基于我对 MVC 的了解。(胖模型,瘦控制器)
不是 Boundary = Controller, Control = Model(业务逻辑)和 Entity = Model(仅做 crud 的 orm 类或类似的实体类)。
我可能错了,请指导我!
两者非常相似。主要区别在于 MVC 通常用于用户界面设计,而 ECB 最常用于业务逻辑。 这是以推广欧洲央行而闻名的亚当·比恩(Adam Bien)的演讲的一部分,它帮助我理解了两者之间的区别。
实际上,您的第一个定义是正确的。单词的含义有时令人困惑。以下链接确认并总结了这两种模式(将 ECB 命名为 MVC 的变体):实体-控制-边界模式
你的解释是正确的。但它们并不相似。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]