易学设计模式看书笔记(3) - 工厂方法模式
来源:互联网 发布:sacd播放软件 编辑:程序博客网 时间:2024/04/28 03:25
二、工厂方法模式
1.动物管理系统的例子
首先,抽象的动物类和具体的动物实现类:public interface Animal{ public void eat();}public class Tiger implements Animal{public void eat(){sysout.out.println("老虎会吃");};public void run(){sysout.out.println("老虎会跑");};}public class Dolphin implements Animal{public void eat(){sysout.out.println("海豚会吃");};public void swim(){sysout.out.println("海豚会游泳");};}然后设计一个只负责定义创建方式的抽象工厂类:public interface Factory{public Animal createAnimail();}再分别设计老虎、海豚的具体工厂实现类,都继承抽象工厂类:public class Trigerfactory implements Factory{public Animal createAnimal(){return new Triger();}}public class Dolphinfactory implements Factory{public Animal createAnimal(){return new Dolphin();}}客户端调用:public class Client{public static void main(String[] args) {Factory factory = new TrierFactory();Animal animal = factory.createAnimal();animal.eat();factory = new DolphinFactory();animal = fatory.createAnimal();animal.eat();}}
2.工厂方法模式简介
定义:工厂方法模式中抽象工厂负责定义创建对象的接口,
具体对象的创建工作由实现抽象工厂的具体工厂类来完成。
3.工厂方法模式的优缺点:
优点:
在工厂方法模式中,客户端不再负责对象的创建,
而是把这个责任交给了具体的工厂类,客户端只负责对象的调用,
明确了各个类的职责。
如果有新的产品加进来,只需要增加一个具体的创建产品工厂类
和具体的产品类,不会影响其他原有的代码,后期维护更加容易,
增强了系统的可扩展性。
缺点:
需要额外的编写代码,增加了工作量。
2 0
- 易学设计模式看书笔记(3) - 工厂方法模式
- 易学设计模式看书笔记(2) - 简单工厂模式
- 易学设计模式看书笔记(4) - 抽象工厂模式
- 易学设计模式看书笔记(1) - 设计模式的分类
- 易学设计模式看书笔记(6) - 创建者模式
- 易学设计模式看书笔记(7) - 代理模式
- 设计模式看书笔记(5) - 三种工厂模式比较
- 设计模式学习笔记(3)工厂方法
- 【设计模式】工厂方法模式学习笔记
- 大话设计模式笔记----工厂方法模式
- 设计模式笔记之---工厂方法模式
- 设计模式笔记--工厂方法模式
- 设计模式学习笔记-工厂方法模式
- 设计模式笔记之工厂方法模式
- 设计模式学习笔记--工厂方法模式
- 设计模式学习笔记-工厂方法模式
- 设计模式笔记--工厂方法模式
- Android 设计模式 笔记 - 工厂方法模式
- Flash Builder4破解步骤
- Android开发中Toast“土司”不显示的原因之容易被忽略的原因
- 关于SQL/NoSQL数据库搜索/查询的思考
- 线性表顺序存储结构的优缺点
- KGTP中增加对GDB命令“set trace-buffer-size”的支持 - Week 2
- 易学设计模式看书笔记(3) - 工厂方法模式
- c语言思想7
- 分享8年开发经验,浅谈个人发展经历,明确自己发展方向(2)
- 编程算法 - 食物链 并查集 代码(C)
- android性能之List
- 二维数组中的查找
- jQuery Autocomplete php 实现自动补齐
- poj1611(The Suspects)-并查集基础题
- 单片机设置多个闹钟C程序