• 实验内容

  某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等、且用户可以根据要求动态选择日志记录方式,现使用工厂方法模式设计该系统

  • 设计类图

软件构造-工厂方法模式

  • 具体代码
  1. 抽象接口

软件构造-工厂方法模式

软件构造-工厂方法模式

  1. 具体工厂

软件构造-工厂方法模式

软件构造-工厂方法模式

  1. 具体产品

软件构造-工厂方法模式

软件构造-工厂方法模式

  1. 测试类

软件构造-工厂方法模式

  • 实验结果

软件构造-工厂方法模式

  • 分析、总结

  工厂方法模式克服了简单工厂违背开放-封闭原则的缺点,又保持了封装对象创建过程的优点。层层分工

在工厂方法模式中,核心的工厂类不再负责对相应子类的创建,而是声明一个子工厂类必须实现的接口,具体的实例化工作由子工厂类去做。这样整个体系并没有对修改开放,而是只对扩展开放,符合开放-封闭原则。

  我们如果想要加功能的话,就不是像简单工厂一样要修改工厂类了,而是把修改放到客户端,对于工厂类和运算类的改变就只是扩展。

相关文章: