zoukankan      html  css  js  c++  java
  • 设计模式-抽象工厂模式

    抽象工厂模式,定义工厂接口,生产某一种类型的配件全部由某一家工厂所提供,解决不同工厂的兼容性问题。

    /**
     * 抽象工厂模式
     */
    public class AbstratFactoryMethod {
        public static void main(String[] args) {
         Application application = new ConcreteProductA();
    // Application application = new ConcreteProductA1();
    Product product = application.getObject();
    product.method1();
    } } //数据库连接接口,抽象工厂 interface IDatabaseUtils { IConnection getConnection(); ICommand getCommand(); } //连接接口 interface IConnection { void connect(); } //指令接口 interface ICommand { void command(); } //实现类1 class MysqlConnection implements IConnection { @Override public void connect() { System.out.println("mysql connect"); } } //实现类2 class OracleConnection implements IConnection { @Override public void connect() { System.out.println("Oracle connect"); } } //实现类1 class MysqlCommand implements ICommand { @Override public void command() { System.out.println("mysql command"); } } //实现类2 class OracleCommand implements ICommand { @Override public void command() { System.out.println("Oracle command"); } } //抽象工厂实现1 class MysqlDataBaseUtils implements IDatabaseUtils { @Override public IConnection getConnection() { return new MysqlConnection(); } @Override public ICommand getCommand() { return new MysqlCommand(); } } //抽象工厂实现1 class OracleDataBaseUtils implements IDatabaseUtils { @Override public IConnection getConnection() { return new OracleConnection(); } @Override public ICommand getCommand() { return new OracleCommand(); } }

      

  • 相关阅读:
    查找谁调用了BTE事件
    ABAP标准屏幕调用选择屏幕
    CG3Y CG3Z 一个上传一个下载
    捕获BDC报的错误
    MM主要的表和主要字段
    获取随机数  QF05_RANDOM_INTEGER
    Query-Convert QuickView是灰…
    SAP_整体修改一个内表的某一个字段…
    程序员永远的痛之字符编码的奥秘
    关于绑定变量、关于占位符
  • 原文地址:https://www.cnblogs.com/chenfx/p/14779194.html
Copyright © 2011-2022 走看看