您的位置:首页 > 其它

设计模式之二:简单工厂模式

2012-11-02 23:52 169 查看
简单工厂模式又称静态工厂方法模式(Static Factory Method Pattern),属于创建模式中的一种。简单地理解,就是有一个类负责对象的创建,类就是一个工厂,你需要的产品就是对象,你可以通过工厂提供的接口获得产品,即对象。

我们以一个动物园的例子来理解。动物园有很多动物,各种动物有不同的叫声,把动物园比喻成一个工厂,各种动物是对象,我们首先定义一个动物的接口,让其他的动物实例都实现它。下面是接口:

public interface Animal {
public void speak();
}
动物实例,比如Dog类:

public class Dog implements Animal{
public void speak() {
System.out.println("我是小狗,我会汪汪叫");
}
}


Sheep类:

public class Sheep implements Animal{
public void speak() {
System.out.println("我是绵羊,我会咩咩叫");
}
}


接下来我们要实现名为ZooFactory的工厂类:

public class ZooFactory {
public static Animal getAnimal(String animal) {
if("Dog".equals(animal)) {
return new Dog();
}
if("Cat".equals(animal)) {
return new Sheep();
}
return null;
}
}


在接下来的程序设计中,如果我们需要得到Dog类的实例或者Sheep的实例,我们可以通过工厂类的静态方法getAnimal(String animal)类获得。比如:

ZooFactory.getAnimal("Dog").speak();
ZooFactory.getAnimal("Cat").speak();


简单工厂模式的优点是实现客户端与服务端的分离,增加新产品的时候不需要修改客户端。缺点是当需要增加新产品的时候,需要修改工程类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: