开放-封闭原则:
对扩展开放,对修改关闭,既软件实体应尽量在不修改原代码的情况下进行扩展 。
好处:
- 高内聚,低耦合。
- 降低了各程序之间的耦合性,抽象化设计是开闭原则的关键。
- 适应性、灵活性、稳定性比较好。增加新功能时,只需要在原有基础上增加新的模块就能实现新功能。增加的新模块对原有模块没影响或者影响很小。
实例:
图表演示系统,演示各种图,添加新图
UML:

柱状图:
package com.szxy.LemonSnm;
public class BarChart extends BaseChart{
public void display(){
System.out.println("This is Bar Chart");
}
}
饼状图:
package com.szxy.LemonSnm;
public class PieChart extends BaseChart{
public void display(){
System.out.println("This is Pie Chart");
}
}
添加新图:
package com.szxy.LemonSnm;
public class NewChart extends BaseChart{
public void display(){
System.out.println("This is New Chart");
}
}
管理器显示图表:
package com.szxy.LemonSnm;
public class ChartDisplayManager {
public void display(BaseChart baseChart){
baseChart.display();
}
}
抽象图:
package com.szxy.LemonSnm;
public abstract class BaseChart {
public abstract void display();
}
客户端测试:
package com.szxy.LemonSnm;
public class Main {
public static void main(String[] args) {
System.out.println("this is OCP method");
ChartDisplayManager chartDisplayManager = new ChartDisplayManager();
chartDisplayManager.display(new BarChart()); //柱状图
chartDisplayManager.display(new PieChart()); //饼状图
chartDisplayManager.display(new NewChart()); //添加新图
}
}
本文深入探讨了软件设计中的开放-封闭原则,强调了在不修改原有代码的基础上进行扩展的重要性,通过图表演示系统的实例,展示了如何通过抽象化设计实现高内聚、低耦合的代码结构,从而提高软件的适应性、灵活性和稳定性。

被折叠的 条评论
为什么被折叠?



