简单介绍几个设计模式

代理模式:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现,即常用的delegate。优势是解耦合,敏捷原则是开放-封闭原则。

观察者模式:是一种通知方式,不关心谁去接收,只负责发布信息,即Notification通知中心、KVO。可以解耦合,实现的敏捷原则是接口隔离原则,开放-封闭原则。

单例模式:确保程序运行期某个类,只有一份实例,用于进行资源共享控制,使用简单,延时求值,易于跨模块。实现的敏捷原则是单一职责原则,例如[UIApplication sharedApplication]。

策略模式:定义算法族,封装起来,使他们之间可以相互替换,使算法的变化独立于使用算法的用户,如排序算法,NSArray的sortedArrayUsingSelector等,controller对view的实现也是一种策略模式。实现了接口隔离原则;多用组合,少用继承;针对接口编程,而非实现。

工厂模式:工厂方式创建类的实例,多与proxy模式配合,创建可替换代理类。优势是易于替换,面向抽象编程,工厂模式是抽象工厂的一部分,抽象工厂的实现依赖于具体工厂,工厂模式产生特定的品类,而抽象工厂可以产生很多不同的品类。实现了DIP依赖倒置原则。

参考书目:《Objective-C编程之道:iOS设计模式解析》

你可能感兴趣的:(简单介绍几个设计模式)