1.写在前面的话:
为什么要使用设计模式?
为什么工厂模式有三种?
下面的话也许能给你一点答案: 想想怎样提高代码的可扩展性,代码的重用,代码的低耦合? 也学设计模式能给你答案。
2.简单工厂模式、工厂模式、抽象工厂模式:
(1).简单工厂模式:通过传进来的参数,然后判断需要new 那一个对象返回给使用者。
(2).工厂模式: 每一个产品都有一个工厂类与其对应,client通过调用对应的工厂类创建需要的对象。
(3).抽象工厂:
理解抽象工厂我们需要知道产品族(product family),产品等级构成的二维坐标图,并且抽象工厂所在的位置就是产品族的位置。
比如现在有两家工厂,一家生产方形的桌子,一家生产圆形的桌子。但是桌子的材质不一样,所以桌子就有不同的产品等级。
如下图:
下面就是具体的类图结构: