首先,先向原著前辈致敬 IT伟哥 。
ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~
(一)代理模式
-
应用场景:
- 当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。
-
实例:
- tableView的数据源delegate,通过和protocol的配合,完成委托诉求。
- 列表row个数delegate
- 自定义的delegate
(二)观察者模式
-
应用场景:
- 一般为model层对,controller和view进行的通知方式,不关心谁去接收,只负责发布信息。
-
实例:
- Notification通知中心,注册通知中心,任何位置可以发送消息,注册观察者的对象可以接收。KVO,键值对改变通知的观察者,平时基本没用过。
(三)MVC模式
-
应用场景:
- 是一中非常古老的设计模式,通过数据模型,控制器逻辑,视图展示将应用程序进行逻辑划分。
-
实例:
- model-即数据模型,view-视图展示,controller进行UI展现和数据交互的逻辑控制。
(四)单例模式
-
应用场景:
- 确保程序运行期某个类,只有一份实例,用于进行资源共享控制。
-
注意事项:
- 确保使用者只能通过 get Instance方法才能获得,单例类的唯一实例。Java,C++中使其没有公有构造函数,私有化并覆盖其构造函数。Object-C中,重写allocWithZone方法,保证即使用户用 alloc方法直接创建单例类的实例,返回的也只是此单例类的唯一静态变量。
注释
- protocol:IOS中的协议