设计模式之原型模式

定义:
使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象.

实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

@interface Person : NSObject<NSCopying>

@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *age;

@end

Person *xiaoli = [[Person alloc] init];
xiaoli.name = @"xiaoli";
xiaoli.age = @"12";

// 复制原对象
Person *xiaozhao = [xiaoli copy];
// 复制原对象
xiaozhao.name = @"xiaozhao";

优点:

  • 简化对象的创建过程, 节约系统资源,提高对象生成效率
  • 可以很方便的通过改变值来生成对象

缺点:

  • 需要copy方法,代码量增大