代理、观察者、单例设计模式的使用场景?

单例设计模式:

确保对于一个给定的类只有一个实例存在,这个实例有全局唯一的访问点。例如NSUserDefaults、UIApplication、NSFileManager、以及封装网络工具类时使用。

代理设计模式:

通常发送者和接收者的是一对一关系,目的是改变或传递控制链,允许一个类在某些特定时刻通知其他类,而不需要获取其他类的指针。在UIKit中大量使用代理。

KVO和Notification都是观察者模式:

一个对象任何状态的变更都会通知另外对其观察的对象。

Notification常用于一对多传值,当两个对象间无关联关系时,经常使用,如键盘的弹出或隐藏就是使用Notification
KVO是键值观察者模式,当指定对象的属性被修改后,KVO自动通知相应的观察者。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容