存档在 2013年3月31日

简单工厂,工厂方法和抽象工厂三种设计模式的区别与C++实现

2013年3月31日

1.简单工厂:简单工厂无需定义抽象工厂类,一般是依靠case,或者if..else..加以判断来产生不同的产品对象。总的来说为“将产品抽象出来,工厂类无需抽象,全部产品都由这个工厂类产生”;

2.工厂方法:针对每一个产品都定义一个派生工厂类,派生工厂类中有一个方法(函数)来产生产品对象,所以叫做工厂方法。总的来说为“将产品抽象出来,将工厂抽象出来,一个工厂子类来产生一个产品子类对象”;

3.抽象工厂:抽象程度更高,工厂方法将所有产品都抽象成几个基类。 如果有多个基类的话,则针对这一系列商品就需要抽象工厂。抽象工厂把几种产品抽象共同的东西,把相互依赖的对象抽象出来,只要实现这些接口就可以得到不同的产品.
» 阅读更多: 简单工厂,工厂方法和抽象工厂三种设计模式的区别与C++实现