工厂方法模式

2018-10-20  本文已影响1人  fomin

1、概念

工厂方法模式是创建型模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。

工厂方法模
2、模式结构

3、使用场景

4、优缺点

优点:

缺点:

5、实例

在系统日志设计中,可能需要考虑多种日志系统,例如文件和数据库日志系统,现使用工厂方法模式设计该系统。
首先,先创建抽象日志类ILog。

public interface ILog {
    void  writeLog(LogType type);
}

其次,创建具体日志类FileLog和DatabaseLog

public class FileLog implements ILog {

    @Override
    public void writeLog(LogType type) {
        // 文件日志逻辑
    }
}
public class DatabaseLog implements ILog {

    @Override
    public void writeLog(LogType type) {
        // 数据库日志逻辑
    }
}

再次创建抽象日志工厂类ILogFactory

public interface ILogFactory {

    ILog createLog();
}

最后创建具体工厂类FileLogFactory和DatabaseLogFactory

public class FileLogFactory implements ILogFactory {

    @Override
    public ILog createLog() {
        return new FileLog();
    }
}
public class DatabaseLogFactory implements ILogFactory {

    @Override
    public ILog createLog() {
        return new DatabaseLog();
    }
}

使用姿势

public static void main(String[] args) {
    ILogFactory factory = new FileLogFactory(); // 换数据库日志,改这里即可
    ILog log = factory.createLog();
    log.writeLog(LogType.Debug);
}
上一篇下一篇

猜你喜欢

热点阅读