前言
本文章根据刘伟(Sunny) 的设计模式一书记录的笔记,感谢作者的知识分享。
开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。
定义
开闭原则:一个软件实体应该对扩展开放,对修改关闭。也就是软件实体在尽量不修改原来代码的情况下来进行扩展。
实现
为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键。在Java、C#等编程语言中,可以为系统定义一个相对稳定的抽象层,而将不同的实现行为移至具体的实现层中完成。在很多面向对象编程语言中都提供了接口、抽象类等机制,可以通过它们定义系统的抽象层,再通过具体类来进行扩展。如果需要修改系统的行为,无须对抽象层进行任何改动,只需要增加新的具体类来实现新的业务功能即可,实现在不修改已有代码的基础上扩展系统的功能,达到开闭原则的要求。
对比
原来设计:

通过抽象满足开闭原则:

本文探讨了面向对象设计中的开闭原则,强调了软件实体应对外部扩展开放,而对内部修改关闭的重要性。通过抽象化设计,如使用接口和抽象类,可以在不改变现有代码的情况下增加新的功能。

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



