1 MVC MVP
Android MVP模型:Model 数据 + View(Activity/Fragment/View+Adapter) + Presenter(DataPresenter)数据代理
Model 相对独立,部分View+Adapter 也相对独立,可以复用
Activity 中抽取了数据处理部分 到DataPresenter 中来处理
IOS MVC模型: model 数据 + View (cell header UIView) + Controller (ViewController)
数据和布局,拆分出来,还比较独立
控制器 Controller 做了比较多的逻辑处理
思考:IOS 参照Android 从ViewController 中抽取逻辑部分,建立 Delegater 来处理
2 代理模式
代理模式:就是解耦,通过代理对象 来访问目标对象
中间通过代理对象,定义好协议,实现这个协议,就是我们的代理对象
Android MVP Model + View + Presenter
主要拿View Presenter 来说
Acitivity 作为一个大的布局View 数据代理给到Presenter
Presenter 就是Activity 的数据代理
然后数据处理完以后,需要回调,这个其实可以发广播/handler Message/传匿名接口都可以
还是使用代理, 定义一个View处理接口,Acitivty 继承,然后给到Presenter 作为刷新View 的代理
IOS
UIViewController
需要将 点击以后的数据筛选代理出去
再定义一个 ChooseTypeView 它负责弹窗,数据获取,点击事件
ChooseTypesView 就是UIViewController 的弹窗代理
然后它需要回调回来
我们定义一个接口,也就是协议,让UIViewController 执行
然后给到 ChooseTypesView 作为刷新数据的代理
Android 代理所有数据的处理
IOS 目前代理的是部分UI操作
3 单例模式
相对比较好理解,只希望独立一份的,单例
暂缓