今天重温了一下Desing Pattern (GOF)的前三种:Abstract Factory,Builder,Factory Method。 大意如下:
如果你需要处理不同的对象家族谱,用Abstract Factory。举例:你需要创 建三种对象,爸爸虚类,妈妈虚类,小二虚类,按照情况,实际创建的时候必 须 用某种实类,如李家爸爸实类和张家爸爸实类。
这里就可以定义一个工厂虚类了。针对两个家族,定义李家工厂实类和张家工厂 实 类。工厂虚类里定义三个函数,分别是创建爸爸,创建妈妈,和创建小二。
如果需要一步一步地创建对象,用builder
如果需要由子类来创建对象,用factory method. 特别注意一下 CreateFooBar 这样的函数,很有可能就是在使用factory method.