【设计模式作业01】依赖倒转和工厂模式

本文探讨了一个绘图软件中如何运用依赖倒转原则和工厂模式来重构设计,以方便添加新类型的画笔和颜色。通过简单工厂模式创建不同几何形状的示例,以及工厂方式模式读取不同格式图片的实现,展示了这两种设计模式在实际场景中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在某绘图软件中提供了多种大小不同的画笔(Pen)

在某绘图软件中提供了多种大小不同的画笔(Pen),并且可以给画笔指定不同的颜色,某设计人员针对画笔的结构设计了如图2-11所示的初始类图。

通过仔细分析,设计人员发现该类图存在非常严重的问题,如果增加一种新的大小的笔或者增加一种新的颜色,需要增加很多子类,例如增加一种绿色,则对应每一种大小的笔都需要增加一支绿色笔,系统中类的个数急剧增加。试依据依赖倒转原则和合成复用原则对该设计方案进行重构,使得增加新的大小的笔和增加新的颜色都较为方便。

 

简单工厂模式

使用简单工厂模式设计一个可以创建不同几何形状(如圆形、方形和三角形等)的绘图工具,每个几何图形都要有绘制draw()和擦除erase()两个方法,要求在绘制不支持的几何图形时,提示一个Unsupported Exception异常。

二、类图(Class Diagram)

 

 

 

三、代码(Code)

Shape.java

 

CircleShape.java

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值