亚庆的 Blog

NSLog(@"About life, about knowledge, about happiness!");

iOS 开发设计模式笔记(1)

| Comments

读了《OBJECTIVE-C编程之道 IOS设计模式解析》,觉得有些东西有必要记录下来,因此有了以下的笔记:

1.Prototype 原型模式

定义:使用原型实例指定创建对象的种类,并通过复制这个原型创建新的对象。(《设计模式》1994)
 一般在初始化信息不发生变化的情况下,克隆是最好的办法。这既可以隐藏对象创建的细节,又对性能是大大的提升。
 适用情景:
 需要创建的对象应独立于其类型与创建方式。
 要实例化的类是运行时决定的。
 不想要与产品层次相对应的工厂层次。
 不同类的实例间的差异仅是状态的若干组合。因此复制相应数量的原型比手工实例化更加方便。
 类不容易创建,比如每个组件可把其他组件作为子节点的组合对象。复制已有的组合对象并对副本进行修改会更加容易。

2.工厂方法模式

 工厂方法也称为虚构造器。它适用于这种情况:一个类无法预期需要生成哪个类的对象,想让其子类来指定所生成的对象。
 定义:定义创建对对象的接口,让子类决定实例化哪一个类,工厂方法使得一个类的实例化延迟到子类。
 适用情形:
 编译时无法准确预期要创建的对象的类。
 类想让其子类决定在运行时创建什么
 类由若干辅助类为其子类,而你想将返回哪个子类这一信息局部化

3.抽象工厂

定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。
 软件设计黄金法则:变动需要抽象。
 比如,如果APP要支持更换皮肤,可以设计成抽象工厂。

Comments