码迷,mamicode.com
首页 > 编程语言 > 详细

java设计模式(二)工厂模式

时间:2017-07-18 21:32:14      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:catch   pat   ant   static   创建   设计模式   方法   color   pattern   

  工厂模式是最常见的实例化对象的模式,用来替代new操作。采用这种模式创建对象会有一些额外的操作,但他会带给系统更大的扩展性和更少的修改量。典型的应用spring bean容器。下面简单实现工厂的例子。

1、动物接口,提供公用方法体

public interface Animal {
    public void eat();
}

2、猫类,继承动物接口,实现猫的eat方法

public class Cat implements Animal {
    public void eat() {
        System.out.println("猫在吃饭...");
    }
}

3、狗类,继承动物接口,实现狗的eat方法

public class Dog implements Animal {
    public void eat() {
        System.out.println("狗在吃饭...");
    }
}

4、工厂类

  需要注意两点:1)返回类型为接口 2)通过反射实现类的实例化

public class AnimalFactory {
    public Animal getAnimalByClassName(String className) {
        Animal a = null;
        try {
            a = (Animal) Class.forName(className).newInstance();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return a;
    }
}

5、测试类

public class Model {
    public static void main(String[] args) {
        AnimalFactory af = new AnimalFactory();
        Animal a = af.getAnimalByClassName("design_pattern.factory.Cat");
        a.eat();
        a = af.getAnimalByClassName("design_pattern.factory.Dog");
        a.eat();
    }
}

 

java设计模式(二)工厂模式

标签:catch   pat   ant   static   创建   设计模式   方法   color   pattern   

原文地址:http://www.cnblogs.com/sunjf/p/java_factory.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!