- 实验内容
某系统日志记录器要求支持多种日志记录方式,如文件记录、数据库记录等、且用户可以根据要求动态选择日志记录方式,现使用工厂方法模式设计该系统
- 设计类图
- 具体代码
- 抽象接口
- 具体工厂
- 具体产品
- 测试类
- 实验结果
- 分析、总结
工厂方法模式克服了简单工厂违背开放-封闭原则的缺点,又保持了封装对象创建过程的优点。层层分工
在工厂方法模式中,核心的工厂类不再负责对相应子类的创建,而是声明一个子工厂类必须实现的接口,具体的实例化工作由子工厂类去做。这样整个体系并没有对修改开放,而是只对扩展开放,符合开放-封闭原则。
我们如果想要加功能的话,就不是像简单工厂一样要修改工厂类了,而是把修改放到客户端,对于工厂类和运算类的改变就只是扩展。