和柱状图(BarChart),后来用户希望系统能够支持更多种类的图表显示方式,例如增加LineChart,我们应该如何设计这个方案?请给出这个方案的类图,并用文字说明该方案的合理性。
通过抽象化的方式对系统进行重构,使之增加新的图表类时无须修改源代码,使之满足开闭原则。
(1) 增加一个抽象图表类AbstractChart,将各种具体图表类作为其子类;
(2) ChartDisplay类针对抽象图表类进行编程,由客户端来决定使用哪种具体图表。
和柱状图(BarChart),后来用户希望系统能够支持更多种类的图表显示方式,例如增加LineChart,我们应该如何设计这个方案?请给出这个方案的类图,并用文字说明该方案的合理性。
通过抽象化的方式对系统进行重构,使之增加新的图表类时无须修改源代码,使之满足开闭原则。
(1) 增加一个抽象图表类AbstractChart,将各种具体图表类作为其子类;
(2) ChartDisplay类针对抽象图表类进行编程,由客户端来决定使用哪种具体图表。