您的位置:首页 > 其它

设计模式之工厂模式

2017-04-05 17:45 183 查看
工厂方法模式:工厂父类(接口)负责定义产品对象的公共接口,而子类工厂则负责创建具体的产品对象。

目的:是为了把产品的实例化操作延迟到子类工厂中完成,通过工厂子类来决定究竟应该实例化哪一个产品具体对象。

工厂方法模式包含四个部分:

1.抽象产品:产品对象同一的基类,或者是同一的接口。

2.具体的产品:各个不同的实例对象类

3.抽象工厂:所有的子类工厂类的基类,或是同一的接口

4.具体的工厂子类:负责每个不同的产品对象的实际创建

上代码:

动物接口:

public interface Animal {
public void speak();
}


狗类

public class Dog implements Animal{
@Override
public void speak() {
System.out.println("wang~");
}
}


猫类

public class Cat implements Animal{
@Override
public void speak() {
System.out.println("miao~");
}
}


然后是工厂:

动物工厂

public interface AnimalFactory {
public Animal getAnimal();
}


狗工厂

public class DogFactory implements AnimalFactory {
@Override
public Animal getAnimal() {
return new Dog();
}
}


猫工厂

public class CatFactory implements AnimalFactory {
@Override
public Animal getAnimal() {
return new Cat();
}
}


创建完毕,然后调用:

public class testMain3 {
public static void main(String[] args) {
AnimalFactory animalFactory = new CatFactory();
Animal animal = animalFactory.getAnimal();
animal.speak();
}
}


具体的实现类,与具体的工厂类是一一对应的,这样的话,新添加动物的具体的类,就不需要修改动物工厂,只需要再添加一个具体工厂就行!

OK,Done!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式