2024.10.13
在一画图软件中提供了多种大小不同的画笔,并且可以给画笔指定不同的颜色,某设计人员对画笔进行了如上图所示的设计。通过分析,可以发现增加画笔的种类和颜色会使得系统中类的数目急剧增加,请根据合成复用原则和依赖倒转原则对上述设计进行重构。
实验要求:
1. 提交源代码;
定义画笔接口:
public interface Pen {
void draw();
}
创建颜色和大小的枚举:
public enum Color {
RED, GREEN
}
public enum Size {
SMALL, MIDDLE, BIG
}
创建出具体的画笔类:
public class ConcretePen implements Pen {
private Color color;
private Size size;
public ConcretePen(Color color, Size size) {
this.color = color;