本文主要是介绍ios 结合项目谈谈设计模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ios 设计模式
在项目开发中常用的设计模式:MVC模式、代理模式、 单例模式、 KVO观察者模式和通知模式、类工厂模式等;
接下来将结合自己的项目谈谈对设计模式的理解以及应用
1.MVC 模式
即数据—视图—视图控制器(Model View Controller)
传统的MVC:Model View 是完全独立的,通过Controller进行连接。controller的作用就是桥梁作用,所有的View可以各自封装最终在controller中拼接。model 负责数据层,通过代理将数据传给controller ,然后controller 又把数据分发给View。 但这种纯粹的MVC在项目开发中并不常用,因为不便于维护,后开废弃掉了。
目前我们的项目开发也是使用接近MVC的模式:即controller可以独立调用获取数据层的接口,获取数据展示,然后展示View。一般我们设计时:所有的数据获取的类都会封装成单例MessageManger 之类的,但凡是要获取数据,接口都可以放在MessageManger的类中;在controller中获取数据,如果View 比较简单可以直接展示,如果View比较麻烦则需要自己写一个View 便于,降低代码的耦合度,提高代码的可重用性和可读性;
2.单例模式
上文刚刚谈到单例,所谓的单例就是该对象只初始化一次,以后直接调用,之后当程序结束后,该对象才会被释放。单例模式的好处就是可以创建一个整个程序都可以使用,随时都可以接受改变的全局变量;缺点是比较会消耗一定的内存。在项目中常见的用户的信息basicUserInfo 启动程序即获取用户的信息,整个程序都要用到,就可以考虑到使用单例。
3.代理模式
代理模式就是:通俗来讲就是找人代替自己做自己想做的事。
详情参见:i
os 界面三级回跳 ——代理回调
现在在项目中经常会使用block回调代替delegate 方法 ,block更简单,delegate 明白易懂;
4.KVO与通知模式
KVO 一般是对某一数据进行观察,如果数据发生改变则执行操作
通知则是知道数据发生变化则通知监听的对象做相应的改变;
5.类工厂模式
类工厂模式是使用加方法创建一个对象,说白了就是一个创建模板。
以上的简介都是自己的愚见。如果有问题,敬请指正。谢谢!
这篇关于ios 结合项目谈谈设计模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!