GOF23设计模式之抽象工厂模式的实现
2015-03-29 19:25
603 查看
package com.bjsxt.cn.abstractFactory;
public interface Engine { void run(); void start();}
class LuxuryEngine implements Engine {
@Override public void run() { System.out.println("高端引擎,运行快"); }
@Override public void start() { System.out.println("高端引擎可自动启动停止"); } }
class LowEngine implements Engine {
@Override public void run() { System.out.println("低端汽车,运行慢"); }
@Override public void start() { System.out.println("低端汽车,不能自动启动停止"); } }
package com.bjsxt.cn.abstractFactory;
public interface Seat { void massage();}
class LuxurySeat implements Seat {
@Override public void massage() { System.out.println("高端座椅,舒适可按摩"); } }
class LowSeat implements Seat {
@Override public void massage() { System.out.println("低端汽车,不能自动按摩"); } }
package com.bjsxt.cn.abstractFactory;
public interface Tyre { public void revolve();}
class LuxuryTyre implements Tyre {
@Override public void revolve() { System.out.println("高端汽车,轮胎转速快,无磨损"); } }class LowTyre implements Tyre {
@Override public void revolve() { System.out.println("低端汽车转速慢,磨损较快"); } }
package com.bjsxt.cn.abstractFactory;
public abstract interface CarFactory { public Engine createEngine(); public Seat createSeat(); public Tyre creatTyre();}
package com.bjsxt.cn.abstractFactory;
public class LowCarFactory implements CarFactory {
@Override public Engine createEngine() { return new LowEngine(); }
@Override public Seat createSeat() { return new LowSeat(); }
@Override public Tyre creatTyre() { return new LowTyre(); } }
package com.bjsxt.cn.abstractFactory;
public class LuxuryCarFactory implements CarFactory {
@Override public Engine createEngine() { return new LuxuryEngine(); }
@Override public Seat createSeat() { return new LuxurySeat(); }
@Override public Tyre creatTyre() { return new LuxuryTyre(); }
}
/** * 时间:2015年3月29日10:48:16 * 源程序代码作用:测试抽象工厂模式 * 抽象工厂模式:用来生产不同产品组的全部产品,(对于增加新产品无能为力) * 抽象工厂模式:是工厂方法的升级版本 * 在多个业务品种中,业务分类是通过抽象工厂模式,产生需要的对象是一种非常好的解决方式。 */package com.bjsxt.cn.abstractFactory;
public class Client { public static void main(String[] args) { LuxuryCarFactory cf1 = new LuxuryCarFactory(); Engine e = cf1.createEngine(); e.run(); e.start(); Engine e2 = cf1.createEngine(); e2.run(); e2.start(); cf1.createSeat().massage(); cf1.creatTyre().revolve(); System.out.println("----------------------------"); CarFactory cf2 = new LowCarFactory(); Engine e3 = cf2.createEngine(); e3.run(); e3.start(); cf2.createSeat().massage(); cf2.creatTyre().revolve(); }}/*高端引擎,运行快高端引擎可自动启动停止高端引擎,运行快高端引擎可自动启动停止高端座椅,舒适可按摩高端汽车,轮胎转速快,无磨损----------------------------低端汽车,运行慢低端汽车,不能自动启动停止低端汽车,不能自动按摩低端汽车转速慢,磨损较快
* */
相关文章推荐
- GOF23设计模式之责任链模式(chain of responsibility)之实现
- GOF23设计模式之模板方法模式(方法回调)的理解与实现之经典
- 设计模式GOF23之单例模式实现
- GOF23设计模式之迭代器模式理解与实现
- GOF23设计模式之静态代理模式实现之经典
- GOF23设计模式之享元模式的实现
- 设计模式GOF23——抽象工厂模式
- [GoF设计模式]抽象工厂模式和Command模式的C++实现
- GOF23设计模式之策略模式与实现
- GOF23设计模式之状态模式的理解与实现
- GOF23设计模式之原型模式之实现
- 【GOF23设计模式】_命令模式_数据库事务机制底层架构实现_撤销和回复JAVA246
- GOF23设计模式之组合模式之实现
- GOF23设计模式之外观模式不使用外观模式的实现
- 【GOF23设计模式】_中介者模式_同事协作类_内部类实现JAVA245
- 233_尚学堂_高淇_java300集最全视频教程_【GOF23设计模式】_原型模式_prototype_浅复制_深复制_反序列化实现深复制
- GOF23设计模式之动态代理模式实现之经典
- GOF23设计模式之中介者模式的实现
- [GoF设计模式]Interpreter模式和Memento模式的C++实现
- gof设计模式——生成器c++实现