9.30

[实验任务三]:依赖倒转原则与合成复用原则

在一画图软件中提供了多种大小不同的画笔,并且可以给画笔指定不同的颜色,某设计人员对画笔进行了如上图所示的设计。通过分析,可以发现增加画笔的种类和颜色会使得系统中类的数目急剧增加,请根据合成复用原则和依赖倒转原则对上述设计进行重构。

 

实验要求:

1. 提交源代码;

型号抽象类:

public abstract class Size {public abstract void sizePen();

}

具体型号类:

public class SmallPen extends Size{//小型public void sizePen() {

System.out.println("小型");

}

}public class MiddlePen extends Size{//中型public void sizePen() {

System.out.println("中型");

}

}public class BigPen extends Size{//大型public void sizePen() {

System.out.println("大型");

}

}

颜色抽象类:

public abstract class Color {public abstract void colorPen();

}

具体颜色类:

public class GreenPen extends Color{public void colorPen() {

System.out.println("绿色");

}

}

public class RedPen extends Color{

public void colorPen() {

System.out.println("红色");

}

}

钢笔:

public class Pen {//钢笔private Size size;private Color color;public Size getSize() {

 return size;

}public void setSize(Size size) {

 this.size = size;

}public Color getColor() {

 return color;

}public void setColor(Color color) {

 this.color = color;

}

}

聚合钢笔:

public class MianClass {public static void main(String[] args) {//颜色大小随意组合

Pen pen=new Pen();//组合小型红色钢笔

pen.setSize(new SmallPen());

pen.setColor(new RedPen());//组合大型绿色钢笔

pen.setSize(new BigPen());

pen.setColor(new GreenPen());

}

}

2.画出重构后的类图。

 

 

posted @ 2024-09-30 08:54    阅读(11)  评论(0)    收藏  举报