定义
开闭原则规定软件中的对象、类、模块和函数对扩展应该是开放的,但对于修改是封闭的。这意味着应该用抽象定义结构,用具体实现扩展细节,以此确保软件系统开发和维护过程的可靠性。
理解
怎么理解这个呢?
看上段中标黄的字体。对扩展开放,对修改封闭。跟面向对象结合,就是有中面向接口编程的感觉。举个ue中的例子,如下图:
pawn类继承一个接口INavAgentInterface类,看下这个类:
随便找个函数吧,GetNavAgentLocation(),以这个函数为例,看看接口类和pawn类都怎么写的。
先看看接口类:
再来看看pawn类,如下:
其实,这种设计,在一些大型项目中都很常用,可以看看其他的。不一一列举。
小结
开放封闭原则是一种很经典的使用技巧,在源码中很常见。
开放封闭原则是很经典的,在几乎所有的语言底层都随处可见。有时间,我们都可以看看,学习学习自己熟悉的语言。包括现在流行的lanchain,这种设计也是很常见。对扩展开放,对修改封闭。这个很重要。ok,翻篇。