设计模式---工厂模式
工厂方法模式
概述:工厂方法模式中抽象工厂负责定义创建对象的接口,具体创建工作由继承抽象工厂的具体类实现。
优点:客户端不需要再负责对象的创建,从而明确了各个类的职责,如果有新的对象添加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护方便,增加了可拓展性。
首先是一个Animal的抽象类:
继承抽象类的Cat类和Dog类:
还有一个AnimalFactory接口:
DogFactory接口和CatFactor接口:
还有一个测试类:
可拓展性主要体现在:当我们要增加一个pig或者其他动物的工厂的时候,我们只需要创建一个继承Animal类的Pig类和一个实现AnimalFactory接口的PigFactory类,其他源代码都不需要怎么改变,就可以实现CreatePig()。