Ate*_*ral 5 model-view-controller design-patterns
有哪些最佳实践可以协调View中复杂组件之间的交互?
我不是在谈论像组合框或网格控件这样的简单小部件,而是由多个小部件组成的组件,这些组件可能值得单独进行单元测试.
你会:
更新:我从#1-3中删除"让控制器......",因为在这些情况下,控制器不一定需要进行路由/编排.它可能是视图本身.
我在最近的一个项目中采用了方法#3,我很满意组件的解耦和个体可测试性.但是,我觉得我可以简化组件的接线.在我的例子中,主View对象必须在每个组件上添加多个事件侦听器,然后在有时进行一些本地处理(比如与模型交谈)之后调用适当组件上的方法.添加事件处理程序的代码看起来有点乱,我特别想找到一种干净的方法.
选项 #3 听起来像中介者模式,并且当对象之间的更新逻辑和通信很复杂时通常是最佳方法。它还具有保持控制逻辑和初始化集中化的额外优点,这往往使跟踪和调试这些类型的情况变得更容易。