浅谈iOS设计模式
序言:设计模式是一种编码经验,设计模式有MVC模式,工厂模式,单例模式,委托模式,MVVM模式,观察者模式。iOS基本上所有的开发都离不开这几种设计模式,以下我就来说说我的理解吧,请多多指教。
一、MVC模式
MVC想必大家对他都不陌生,iOS主流的设计模式,其余的设计模式都是基于MVC衍生的设计模式。
M:Model (模型)主要的作用是应用程序中处于处理应用程序数据逻辑的部分,笼统来说就是逻辑处理。一般来说model对象负责在数据库中存取数据。
V:VIew(视图)主要的作用是应用程序中的数据显示的部分,根据model数据创建的,顾名思义,就是视图。
C:Controller(控制器)主要的作用是应用程序与用户的交互的处理,控制器从视图中读取用户数据,并控制用户操作,最后向model发送数据。
MVC模式有助于降低耦合,可以分开来开发,在一段时间内可以专注于其中一项来开发而不会有多大的影响,让不同的开发人员同时开发视图、控制器逻辑与业务逻辑。ps:业务逻辑就是处理数据的逻辑。
二、单例模式
利用static关键词,声明一个全局变量,在整个进程运行过程中只会运行一次。
单例模式三个要点:一个类只能有一个实例;必须是自行创建的这个类;自行向整个系统提供这个实例。
三、委托模式
主要实现的是代理与协议的组合,可以实现反向传值操作。
四、工厂模式
通过一个类方法,批量的根据已有模版生产对象,所利用的是oc语言的多态来创建不同的对象。
五、观察者模式
最典型的就是KVO模式的通知模式,观察某个属性的状态,状态发生变化时通知观察者,再执行相应的事件。
六、MVVM模式
就是基于MVC模式,在其上再加上一个新的view-model。这个设计模式就是把view里面的业务逻辑分出来另外处理,分成两部分,一个是基本的UI界面设计,一个是业务逻辑,最终所达成的目的就是解耦合。
以上就是本人对iOS基本设计模式的理解,当然也查阅过各种资料添加上自己的理解,若有不妥望评论指出来。