需求:mvp结构 controller->presenter->views->subViews,需要传递数据。
做法1:数据->controller->presenter->views->subViews。缺陷:层层传递,数据一变,所有地方都要变。
做法2:views/subView直接持有对control的引用,views/subViews需要数据,直接通过control获得。缺陷:view与controller耦合,无法成为独立模块,可移植性差。
请问有更好的办法吗。
同学你好,可以学习一下框架相关的课程,选择最适合自己项目的框架来使用,也可以自己写一个框架。同学总结的已经很好了,如果想要处理数据的对象少,那么之间的耦合性就会很高,因为要持有引用避免不了。如果想要解耦合,还是需要有多个中介或者管理类来解耦的,如果项目不是很复杂可以使用方式2,否则还是推荐方式1,数据传递本来也是一个参数,不需要去改变框架内部的一些结构