开闭原则(Open-Close Principle,简称OCP)是面向对象设计的基本原则之一。它指的是软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。这意味着软件实体应该在不修改现有代码的前提下,允许其行为被扩展。换句话说,应该能够添加新功能而无需改变旧的代码。
这个原则的本质很简单,就是一句话:
如果要新增功能,不需要修改已有的逻辑,只要单纯把新增功能的逻辑加入即可!
这样,就能避免在添加新功能时对已有的功能产生影响和破坏,使开发者能够轻松地拓展软件来满足新的需求,而无需重构甚至重写大部分已有代码。
对于嵌入式开发者来说,可能大部分都是使用的 C 语言开发,虽然 C 语言是一种面向过程的编程语言,而开闭原则又针对的是面向对象的程序设计,但我们仍然可以在一定程度上应用这一原则。在 C 语言中,通过使用函数指针、回调函数和模块化设计方式,就可以完成开闭原则的实现。
|