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;

 

        this.size = size;

    }

 

    @Override

    public void draw() {

        System.out.println("Drawing with " + size + " " + color + " Pen");

    }

}

posted @ 2024-10-13 19:59  kuku睡  阅读(7)  评论(0)    收藏  举报