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

工厂模式

时间:2016-06-09 14:38:29      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

简单工厂模式:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例;

工厂方法模式:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口;

抽象工厂模式:提供一个接口,在不必指定产品的具体的情况下,创建多个产品族中的产品对象。由实现接口的工厂类负责创建抽象产品的具体子类的实例。

代码实例:

1.简单工厂模式

//数据库连接对象接口
public interface Connection {
    
    //创建连接语句
    void createStatement();
}

//mysql连接对象类
public class MysqlConnection implements Connection {

    @Override
    public void createStatement() {
        System.out.println("创建mysql连接语句!");
    }
}

//oracle连接对象类
public class OracleConnection implements Connection {

    @Override
    public void createStatement() {
        System.out.println("创建oracle连接语句!");
    }
}

//连接对象工厂类
public class ConnectionFactory {

    //根据传入的参数决定具体创建的对象
    public Connection createConnection(String key) {
        if(key == "mysql"){
            return new MysqlConnection();
        }
        else if (key == "oracle") {
            return new OracleConnection();
        }
        else {
            return null;
        }
    }
}

//测试类
public class Test {
    
    public static void main(String[] args) {
        
        String key1 = "mysql";
        String key2 = "oracle";
        
        ConnectionFactory factory = new ConnectionFactory();
        
        //创建mysql连接对象
        Connection mysqlConnection = factory.createConnection(key1);
        mysqlConnection.createStatement();
        
        //创建oracle连接对象
        Connection oracleConnection = factory.createConnection(key2);
        oracleConnection.createStatement();
    }
}

输出结果:
创建mysql连接语句!
创建oracle连接语句!

 

工厂模式

标签:

原文地址:http://www.cnblogs.com/crazy2016/p/5572283.html

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