码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式-抽象工厂模式

时间:2021-05-24 14:18:18      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:eth   util   类型   on()   utils   int   ora   ret   base   

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

/**
 * 抽象工厂模式
 */
public class AbstratFactoryMethod {
    public static void main(String[] args) {

    }
}

//数据库连接接口,抽象工厂
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();
    }
}

  

设计模式-抽象工厂模式

标签:eth   util   类型   on()   utils   int   ora   ret   base   

原文地址:https://www.cnblogs.com/chenfx/p/14779194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!