设计模式之工厂方法模式
来源:互联网 发布:js undefined判断 编辑:程序博客网 时间:2024/06/08 18:09
主要内容:
1.工厂方法模式
2.多个工厂方法模式
3.静态方法模式
一.工厂方法模式
public abstract class Animal {public abstract void eat();}
public class Cat extends Animal {@Overridepublic void eat() {}}
<pre name="code" class="java">public class Dog extends Animal {@Overridepublic void eat() {}}
<pre name="code" class="java">package factory;public class AnimalFactory1 {public Animal createAnimal(String animal) {if ("dog".equals(animal)) {return new Dog();}if ("cat".equals(animal)) {return new Cat();}return null;}}
二.多个工厂方法模式
public class AnimalFactory2 {public Animal createDog() {return new Dog();}public Animal createCat() {return new Cat();}}
三.静态方法模式
public class AnimalFactory3 {public static Animal createDog() {return new Dog();}public static Animal createCat() {return new Cat();}}
四.测试
@Testpublic void test1() {AnimalFactory1 factory = new AnimalFactory1();Animal a1 = factory.createAnimal("cat");Animal a2 = factory.createAnimal("dog");a1.eat();a2.eat();}@Testpublic void test2() {AnimalFactory2 factory = new AnimalFactory2();Animal a1 = factory.createCat();Animal a2 = factory.createDog();a1.eat();a2.eat();}@Testpublic void test3() {Animal a1 = AnimalFactory3.createCat();Animal a2 = AnimalFactory3.createDog();a1.eat();a2.eat();}
效果都一样,代码不一样,这样看来是第三种比较好了.
0 0
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式 之 工厂方法
- 设计模式 之 工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 《设计模式》之工厂方法
- 设计模式之--工厂方法
- TopCoder SRM 667 Div1 Problem 250 - OrderOfOperations (状压dp)
- 自定义ListView实现仿QQ消息列表滑动item出现删除按钮
- SQL语法优化
- iOS 开发中关于时间显示问题(今天/昨天/前天/星期几/具体日期)
- 正确理解ThreadLocal
- 设计模式之工厂方法模式
- 【KMP】【HDU3746】【最小循环节】
- hdu 5442 Favorite Donut 最小表示法+KMP
- struts2 拦截器
- 【2015/9/15】漫漫大神路——非常精彩的java内存分析
- C 语言程序分区
- Shell 编程小览
- linux线程4(google面试题)
- 多态