创建型模式的定义,简单:与对象创建相关的模式。
1.abstract factory 抽象工厂
简单:考虑一个程序:一个人要装修房子,要求要统一风格的,所以他必须在某一个家具公司定制一整套家具(包括桌子,椅子,柜子),他可以要求A公司给他A风格系列的桌子,椅子,柜子,也可以要求B公司……B……。
以上的过程就是抽象工厂的设计模式。其中abstract factory包含了桌子,椅子,柜子。他的子类实现特定风格(A风格,B风格)。
是不是特别简单!
2 builder
builder模式更简单了。
builder的中文意思是生成器,我们的输入是相同的,结果和过程那可不相同。比如我们要煮饭,给了一碗米,A把米煮成了饭,B成了粥,C成了爆米花,D煮成了锅巴!
以上的过程就是builder的设计模式。其中A,B,C,D都是builder。我们把一个builder交给一个指挥官:director,director就能生成我们想要的东西。director对每个builder的指挥可能得因材施教,一步步的来,过程可能不同, 另外我们对这些builder的调用可能不好用虚基类。呵呵,那就不用好了,反正根据需要生成我们想吃的东西。
3 factory method 工厂方法
太简单了:不就是一个方法(method )么。小孩子
考虑一个小孩子画画这个事儿 。小孩子画画要彩笔,要彩笔的过程就是一个factory method 。A小孩要x彩笔,B----y,C---x等等,在小孩子这个虚类中有个虚函数要彩笔(factory method ),然后这个虚类调用这个factory method开始画画,哈,咱们什么都不知道,既不知道这个小孩子是谁,也不知道他用的什么彩笔,不过他开始画画了。在小孩子的子类中要实现要彩笔这个factorymethod。
4prototype 原型
哇,简单的不得了啦,不过,我还不知道怎么去说它。 clone ,clone,clone,clone………………(可参考 代理:http://blog.csdn.net/chyuanzheng/article/details/7854929)
5singleton
这个人很懒,什么都没说。