我想知道边界的子类是否充当 Controller ?
最佳答案
简而言之
不可以
长解释
的架构方法 Entity-Control-Boundary 旨在从用例中导出设计。
此模型中边界和控件的角色和职责不兼容:
- 边界管理一组参与者和用例之间的交互,
- 控件管理用例的执行并协调其他涉及的对象。
这会导致以下稳健性约束:
- 边界可以与控件关联,但不能与实体关联。
- 控件可以与控件和实体关联。
根据定义,边界的子类本身就是一个边界类。 如果它可以同时是一个控件,这将意味着它可以同时与一个实体关联,但不能与一个实体关联,这是不可能的。所以,不,这两个角色不能由同一个类(class)担任。
一些细微差别
上面我假设您使用的是 ECB,并写了“ Controller ”,但意思是“控制”及其特定的 ECB 含义。
但是您可以故意使用“ Controller ”来指代更一般的类责任(responsibility driven design术语)。在这种理解中, Controller 只是协调其他类,而不考虑更大的架构组件。可以有一个边界 Controller (即边界类,例如对话框 Controller )来独立于任何特定业务逻辑来协调其他边界类(例如对话框文本框和按钮)。这是可能的,因为 Controller 类的概念与 ECB-Control 类正交
关于class - UML - 边界的子类可以充当 Controller 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65441865/