要点汇总:
1. 什么是工厂方法
2. OC中的工厂方法
什么是工厂方法?
简单的说就是在基类中定义创建对象的一个接口,但真正创建出的是某一个子类,视实际需求而定。
GOF是这样描述工厂模式的:
“Define an interfacefor creating an object, but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses.”
OC中的工厂方法
工厂方法在OC中广泛使用,可以说无处不在,最典型的像NSString,NSNumber等等。你并不清楚NSString,NSNumber内部实现的究竟是什么子类,可能是CFStringRe或者char,int,float等其他一些什么,你只需要调用stringWithFormat,stringWithString,numberWithChar,numberWithInt等即可,不需要关心它内部是怎么实现的。
这个理解即可。