我正在玩一个用户界面,可以创建用户可以操作的一个或多个基本类型的项目。
用户对一个对象的一些操作会影响其他对象。想想一个允许多选的矢量绘图工具。如果用户拖动一个对象,其他对象也应该移动。
我确实有一个父容器对象,可以负责处理对象之间的通信,但由于这就是它所做的一切,我觉得这种方法过于紧密耦合。我觉得这种方法允许对象独立于任何外部类进行通信,这将是一种更好的设计。
我正在考虑在对象内部定义的单个通信器类的行。其目的是保留对象列表并将其他对象警告给各种事件,例如添加,删除的新对象或可能影响或不影响其他对象行为的其他操作。
这是一个糟糕的设计吗?关闭袖口的想法以及您在该主题上可能拥有的任何资源。谢谢!
答案 0 :(得分:1)
我想我会选择复合材料。
在多选案例中,将所有选定对象添加到Composite实例。您现在可以通过Composite对整个组进行操作。