设计模式之(二)——抽象工厂模式
来源:互联网 发布:备份短信软件 编辑:程序博客网 时间:2024/05/29 12:29
正如前面介绍,工厂方法模式很简单,可是如果想要添加功能的话则必须进行对原有的代码进行修改,可能会很麻烦特别是项目很大的情况下。
(比如 已经有bike , car , 添加train 实现 running)
下面介绍 可以后续添加功能不需要进行对原有代码进行修改的方法:抽象工厂模式。
- 设计思路:
- 添加一个 train 类 实现 running ,只需将创建train 对象的完成即可,这就需要在创建类的方法中进行分类了,或者对整个创建的功能进行向上抽象,形成 interface(抽象类舍弃),然后创建时是去实现 interface 里的方法即可。
所以我们可以在添加时只需添加 2个实现类,一个实现功能,一个实现创建类。
interface Transportations{ public void running(); } class Bike implements Transportations{ @Override public void running() { System.out.println("bike is running"); } } class Car implements Transportations{ @Override public void running(){ System.out.println("car is running"); } }class Train implements Transportations{ @Override public void running(){ System.out.println("train is running"); } } interface Factory{ public Transportations create(); } class BikeFactory implements Factory{ @Override public Transportations create(){ return new Bike(); } } class CarFactory implements Factory{ @Override public Transportations create(){ return new Car(); } } class TrainFactory implements Factory{ @Override public Transportations create(){ return new Train(); } } //测试时: public class Test{ public static void main(String [] args){ Factory f = new TrainFactory (); //train很明显是 train对象 Transportations train= f.create(); train.running(); } }
想加 air 等 只要像train 类一样 添加就行了。
这样就可以进行任意添加交通工具了。
0 0
- 设计模式之(二)——抽象工厂模式
- java设计模式(二)——抽象工厂模式
- 设计模式之 工厂模式(二) 抽象工厂模式
- 设计模式(二)之Abstract Factory - 抽象工厂模式
- 设计模式之二 抽象工厂模式(Abstract Factory)
- 创建型:设计模式之抽象工厂模式(二)
- JAVA设计模式之抽象工厂模式 (二)
- 设计模式(二):抽象工厂模式
- 设计模式(二) 抽象工厂模式
- 设计模式(二):抽象工厂模式
- 设计模式(二)抽象工厂模式
- 设计模式学习(二)之工厂模式(简单工厂+工厂方法+抽象工厂)
- 设计模式之工厂设计模式(二:抽象工厂模式)
- JAVA设计模式之二抽象工厂
- 设计模式(二)工厂方法模式+抽象工厂模式
- 设计模式学习(二)——抽象工厂模式
- 设计模式之——抽象工厂设计模式
- Java设计模式之工厂模式(二):抽象工厂模式
- CyclicBarrier
- iReport部署到Linux系统字体问题
- 安卓设置EditText获得焦点时不显示输入法
- svn switch user
- C++中成员变量 父类 子类构造析构顺序
- 设计模式之(二)——抽象工厂模式
- alias命令使用
- Android drawable文件夹的使用
- UVA - 562 - Dividing coins (01背包)
- 初探验证码识别
- Android Studio 引入project后不能Gradle出错
- BZOJ 1127 POI2008 KUP 单调队列
- 监控一个集群
- 对象生成JSON的方式