下通过消息方式实现界面解耦有什么优势


模块和界面解耦是App规模成长到一定规模后必须要走的一条路
对于解耦的原理,现在貌似通过消息机制进行相互调用很流行

始终没想明白,通过消息方式解耦,和传统的通过抽象ID(比如一个URL,一个URL对应一个界面)进行调用有什么优势吗?

Android 框架 ios

雪风KYO 10 years, 4 months ago

消息相对来讲,伸缩性和灵活性比传统的通过抽象ID更好吧。而且,不同界面相关的逻辑可以控制在最小范围内,只要实现对应的observer或者consumer就行了。避免静态对象的共享。而且,不同线程之间数据交换,也不容易出现异常。

LAVAN answered 10 years, 4 months ago

  1. 我觉得在你的这种情况下是差不多的,如果一个ID就能代表一个界面或者一个界面元素的调用
  2. ReactiveCocoa不是有几个经典的例子么,当一个界面上的元素有多种依赖的时候,ReactiveCocoa的写法还是很舒服的,比如当两个事件触发以后才会引起一个界面的更新,你就要去写一个逻辑对这两个ID做监测
  3. 各种异步的时候不用自己去写回调,block什么的,直接用事件,更正一下,不是说不用写逻辑,是这种方式看起来更直接
雪霁天晴ゎ answered 10 years, 4 months ago

Your Answer