设计模式_工厂方法模式的概述和使用)
2017-03-22 22:54
375 查看
工厂方法模式概述 工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。 优点 客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性 缺点 需要额外的编写代码,增加了工作量
测试类AnimalDemo
package cn.itcast_02; public class AnimalDemo { public static void main(String[] args) { // 需求:我要买只狗 Factory f = new DogFactory(); Animal a = f.createAnimal(); a.eat(); System.out.println("----------------------"); // 需求:我要买只猫 f = new CatFactory(); a = f.createAnimal(); a.eat(); } }
动物类Animal
package cn.itcast_02; public abstract class Animal { /** * 吃 */ public abstract void eat(); }
工厂类Factory
package cn.itcast_02; public interface Factory { public abstract Animal createAnimal(); }
具体类Dog
package cn.itcast_02; public class Dog extends Animal { @Override public void eat() { System.out.println("狗吃肉"); } }
实现工厂类DogFactory
package cn.itcast_02; public class DogFactory implements Factory { @Override public Animal createAnimal() { return new Dog(); } }
具体类Cat
package cn.itcast_02; public class Cat extends Animal { @Override public void eat() { System.out.println("猫吃鱼"); } }
实现工厂类CatFactory
package cn.itcast_02; public class CatFactory implements Factory { @Override public Animal createAnimal() { return new Cat(); } }
相关文章推荐
- 设计模式_Java_工厂方法模式的概述和使用
- 设计模式-工厂方法模式的概述和使用-接口
- Ruby中使用设计模式中的简单工厂模式和工厂方法模式
- 设计模式-简单工厂模式概述和使用-接口
- 使用Object-C实现23种设计模式之工厂方法模式
- 通过例子学设计模式之--工厂方法模式以及使用场景说明(C++实现)
- 设计模式_模版设计模式概述和使用
- 设计模式-模版设计模式概述和使用-抽象类
- 设计模式--工厂方法模式在unity3d里面的使用
- 设计模式_装饰模式概述和使用
- 设计模式-装饰模式概述和使用-IO流
- 设计模式_Java_简单工厂模式概述和使用
- 二十四种设计模式:工厂方法模式(使用频率5个星,共5星)
- iOS经常使用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)
- 设计模式_简单工厂模式概述和使用
- 使用设计模式中的工厂方法模式进行C#编程的示例讲解
- 设计模式-使用php实现工厂方法模式
- Java使用设计模式中的工厂方法模式实例解析
- 使用设计模式构建通用数据库访问类(转自天极)
- 使用设计模式改善程序结构(三)