设计模式概要

结构型: MVC、MVVM
创建型: 单例设计模式、委托协议模式(工厂模式)
行为型: 观察者设计模式··

1.MVC:

    Model:最基本的数据读写(转换)
    View: 只展示、处理非业务逻辑(动画效果、点击反馈、点击事件的开关保护)
    Controller: 网络请求,对Model进行读写操作,并将Model的数据转给View展示,处理View的刷新及页面跳转
  缺点:严格来说Model和View应该完全没有直接的联系,但是往往控制器传递给View的数据就是Model类,View的复用前提是传递进去的Model类相同(在理想的情况下,View和Model完全分离,如果视图不依赖某个模型,那么这个视图就可以被复用来展示不同的模型数据)

2.MVVM

    View--Controller--ViewModel--Model,控制器将View和ViewModel进行绑定
    Model: 最基本的数据读写
    ViewModel: 本质也是一个Model,访问Model层的数据,负责处理与页面相关的数据代码(列表、加载更多、搜索、删除、网络、缓存),然后供View层调用
    View:只展示、处理非业务逻辑。

3.单例:

    整个应用只有该类的一个实例,该实例有一个全局唯一的访问点;采用延迟加载的方式,在第一次用到的时候才去创建单例实例对象;便于管理,不浪费内存。
    GCD提供的dispatch_once函数,保证在block里创建单例的语句在整个应用的生命周期里只执行一次,下次再调用时,会返给你之前已经初始化好的实例。
    系统的单例有:UIApplication、NSUserDefaults、NSNotification、NSFileManager、NSBundle等(shared、mainBunle、default)。

4.委托模式

    代理、类别;类可以实现或不实现协议(接口)中的方法(UITableViewDelegate/UITableViewDataSource);将数据绑定和事件处理交给委托和协议处理,逻辑业务自己完成。

5.观察者模式

    一个对象状态改变,通知正在对他进行观察的对象,这些对象根据各自要求做出相应的改变.
    通知:addObserver、removeObserver;postNotification,观察者由自己注册
    KVO:只能观察对象属性值,观察者的注册是在被观察者的内部进行,观察者和被观察者都需要实现NSKeyValueObserving协议(NSObject默认实现),addObserver、-observeValueForkeyPath回调、removeObserver:forKeyPath移除
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 创建型模式:工厂模型,抽象工厂模型,建造模型,原型模型,单例模型,结构型模式:适配器,桥,组合模型,行为型设计模式...
    你的操作666阅读 343评论 0 0
  • 什么是设计模式 设计模式是一套成熟的解决方案,主要用老解决软件设计中普遍存在的各种问题.在软件设计中,会出现一些重...
    不鸟万峰阅读 192评论 0 0
  • 单例模式 工厂模式 用工厂方法代替new操作,建立一个工厂(一个函数或一个类方法)来制造新的对象。 观察者模式 对...
    阿拉要洗澡阅读 157评论 0 0
  • 2017年7月25日 星期二 天气晴 今天由于工作关系出差济南,到山东省安监部门办理安全设施审查事宜,并得知信息,...
    梁正爸爸阅读 174评论 1 3
  • 01 上午后两节课没事做,按照近期的惯例,约了朋友去图书馆。 本应该平心静气啃书的,朋友突如其来的电话打破了短暂的...
    明天glimmer阅读 492评论 0 5