Java之简单工厂设计模式

一、简单工厂设计模式

概述:定义一个具体的工厂类负责创建各个类的实例。

演示:

①定义一个抽象父类动物类

Java之简单工厂设计模式

②定义几个子类

Java之简单工厂设计模式

Java之简单工厂设计模式

③定义工厂类

Java之简单工厂设计模式

④Main方法中直接调用各个子类

Java之简单工厂设计模式

优点:客户端不需要再负责对象的创建,从而明确了各个类的职责。

缺点:这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断地修改工厂类,不利于后期维护。

二、工厂方法模式

概述:工厂方法模式中抽象工厂类负责定义创建对象接口,具体对象的创建工作由继承抽象工厂的具体类实现。

演示:

①定义一个动物父类,定义一个狗类,定义一个猫类,同上,略

②定义一个工厂接口,并定义一个生产动物的抽象方法

Java之简单工厂设计模式

③定义猫和狗的生产对象工厂

Java之简单工厂设计模式

Java之简单工厂设计模式

④Main方法演示

Java之简单工厂设计模式

优点:客户端不需要再负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要添加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性。

缺点:需要额外的编写代码,增加工作量。