工厂方法模式
来源:互联网 发布:阿里妈妈和淘宝联盟 编辑:程序博客网 时间:2024/04/29 20:33
工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂类的具体类实现。
- 优点
- 客户端不需要再负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性
- 缺点
- 需要额外的编写代码,增加了工作量
举例如下:(举一个创建狗的工厂的例子)
创建抽象父类(动物)
abstract class Animal{ public abstract void eat();}
创建抽象工厂接口
interface AnimalFactory{ public abstract Animal AnimalFactory();}
创建实现狗
class Dog extends Animal{ public void eat(){ System.out.println("狗吃骨头"); }}
创建一个生产狗对象的工厂类
class DogFactory implements AnimalFactory { public Animal animalFactory() { return new Dog(); }}
测试类
class Test{ public static void main(String[] args) throws Exception{ AnimalFactory af = new DogFactory();//创建工厂类 Animal a = af.createAnimal();//由工厂类生产相应动物对象 a.eat(); }}
- 输出:狗吃骨头
0 0
- 工厂模式 -- 工厂方法
- 工厂模式-工厂方法
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式---工厂方法模式
- 【模式】工厂方法模式
- 工厂方法,抽象工厂模式
- C#工厂模式-工厂方法
- 工厂模式 和工厂方法
- 工厂模式-C-工厂方法
- 工厂模式以及工厂方法
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂方法、抽象工厂模式
- 工厂模式(简单工厂、工厂方法)
- 简单工厂|工厂方法|抽象工厂模式
- 设计模式-工厂模式(简单工厂模式+工厂方法模式)
- 20160207.CCPP体系详解(0017天)
- Android Studio 小技巧合集
- JSP的自定义标签(四)之定义函数
- 为什么尽量不要使用using namespace std?
- ios-提升之【2】-UITableViewCell的重用机制
- 工厂方法模式
- 20160206.CCPP体系详解(0016天)
- css样式 让文章开头空两格
- 20160207.CCPP体系详解(0017天)
- Scroller使用教程
- [校园卡APP]-后台模块抽取路由过程中的错误处理(1)
- 第八章 丰富你的程序,运用手机多媒体
- redis源码阅读(二):事件驱动
- user_agent.php