设计模式之工厂方法模式实验

软件构造实验一:使用工厂方法模式设计“某系统日志记录器系统”。

  • 首先需要知道什么叫工厂方法模式,它是24个设计模式中的其中一个设计模式。工厂方法模式简称为工厂模式( Factory Pattern),它的定义是看下边引用(摘抄于知乎):

工厂方法模式,简单来说是来为了解决简单工厂模式所出现的一些缺点而进行的改进。比如当一个简单的工厂模式要生产一个飞机。能够生产直升机,战斗机,波音747.但是如果要新增一个水上飞机。那么就要修改源代码,也就是修改工厂的源代码!添加一个业务逻辑,显然不符合开闭原则,所以就有了工厂方法模式。提供一个抽象工厂方法模式,这样就可以避免新增的时候修改源代码,只要新建一个类来继承了工厂方法模式即可。

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

  • 工厂方法模式的UML图
    在这里插入图片描述*Product:它是定义产品的接口,是工厂方法模式所创建的产品的父类。
    *ConcreteProduct:具体产品
    *Factory:抽象工厂类中声明了工厂方法。
    *ConcreteFactory:具体的工厂方法,继承了抽象工厂类,用来生产具体的对象。

  • 好,接下来就可以看下实验内容以及实验目的了:
    (1)实验内容:某系统日志记录器要求支持多种日志记录方式,如文件记录,数据库记录等,且用户可以根据要求动态选择日志记录方式,现使用工厂方法模式设计该系统。
    (2)实验目的:通过使用工厂方法模式,设计一个系统日志记录器,要求支持多种日志记录方式,如文件记录、数据库记录等,且用户可以根据要求动态选择日志记录方式。

  • 这个实验一定会要求同学们画出相关UML类图,所以可以通过最简单的WPS也可以画出UML类图哦:大致流程如下:
    打开WPS–>新建–>点击“流程图”并新建空白文档–>可以选择相应图形来画–>导出
    在这里插入图片描述
    在这里插入图片描述

  • 下边就是代码部分了:
    ①Log产品类,充当抽象产品角色:

package practice01;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值