针对几种常用的设计模式做个简单总结:
1.简单工厂模式
简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式
理解:工厂类中写了所有产品的逻辑, 对客户端简单明了, 对工厂类中揉杂了太多业务逻辑, 扩展性太差。
2.工厂模式
工厂模式是我们最常用的实例化对象模式了
理解:在简单工厂模式下, 对工厂类进行解耦合, 分别继承工厂基类, 各自工厂子类实现
3.抽象工厂模式
抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。
理解:比如NSNumber, numberWithBool(对应子类NSCFBoolean), numberWithInteger(对应子类NSCFNumber)等
4.适配器模式
适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中
理解:不影响用户调用, 封装中间层, 切换底层实现
5.策略模式
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。
理解:定义协议, 子类实现遵照协议, 调用类根据type决定具体实现子类的算法。
6.模版模式
定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
理解:定义父类,相同算法放在父类, 子类实现各自算法。
7.建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
理解:Builder建造者抽象类, ConcreteBuilder具体实现的建造者实例类, Director构造使用Builder的类, Product建造的整个产品
可能说的有点简单, 大家可以相互补充。