Java实现简单工厂模式

1.介绍:

  简单工厂模式是属于创建型模式,但不属于23种GOF设计模式。

2.使用场景:

  1)创建对象少的场景。

  2)客户端只关注工厂类参数,不关注细节实现。

3.示例:

  1)抽象出一个连接器类

public abstract class TransferConnection {
    public abstract void getConnection();
}

  2)构造具体的对象,如Http、SSH连接器类

public class SSHConnection extends TransferConnection {
    @Override
    public void getConnection() {
    System.out.println("Get SSH connection.");
}
}
public class HttpConnection extends TransferConnection{

    @Override
    public void getConnection() {
        System.out.println("Get http connection.");
    }
}

  3)构造工厂类

public class ConnectionFactroy {
    public TransferConnection getTransferConnection(Class c) {
        TransferConnection transferConnection = null;
        try {
            transferConnection = (TransferConnection) Class.forName(c.getName()).newInstance();
        } catch (ClassNotFoundException e) {
            System.out.println(e.getMessage());
        } catch (IllegalAccessException e) {
            System.out.println(e.getMessage());
        } catch (InstantiationException e) {
            System.out.println(e.getMessage());
        }
        return transferConnection;
    }
}

  4)客户端测试类(客户端只根据工厂类类参数获取对应的连接器)

public class Test {
    public static void main(String[] args) {
        ConnectionFactroy factory = new ConnectionFactroy();
        TransferConnection transferConnection = factory.getTransferConnection(HttpConnection.class);
        if (null == transferConnection) {
            System.out.println("Invalid result.");
        }
        transferConnection.getConnection();
    }
}
原文地址:https://www.cnblogs.com/GrapefruitTea/p/9657364.html