工厂模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工厂模式相关的知识,希望对你有一定的参考价值。
简单工厂模式:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例;
工厂方法模式:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口;
抽象工厂模式:提供一个接口,在不必指定产品的具体的情况下,创建多个产品族中的产品对象。由实现接口的工厂类负责创建抽象产品的具体子类的实例。
代码实例:
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连接语句!
以上是关于工厂模式的主要内容,如果未能解决你的问题,请参考以下文章
设计模式简单工厂模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )