工厂方法模式简单工厂的不足上节的简单工厂,需要拓展时比如修改工厂类,违背了设计模式的开闭原则简单工厂类直接生成各个子类产品,而工厂方法则有一个抽象工厂类,声明了创建产品的工厂方法,而各个不同的子类产品交由各个不同的具体工厂去完成创建,拓展时,只需要新建一个具体工厂即可,具有更好的灵活性和拓展性在工厂方法模式中,存在4个角色:抽象产品具体产品抽象工厂声明了创建产品的抽象方法,返回抽象产品,由具体工厂去实现创建具体产品的方法具体工厂实现创建产品的抽象方法,创建并返回某一种具体产品工厂方法模式下的多日志工厂Log(抽象产品)抽象Log声明了一个记录日志的方法packagecom.example.fx