OCP(Open closed principle)
software entities (classes, modules, functions) should be open for extension, but closed for modification
大概意思
软件中的实体对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的
为什么这么说?
因为软件逻辑不是一层不变的,业务会变化,在业务发生改变时会发生以下某种情况:
直接修改某个类方法造成整体软件崩溃
比如class
A有一个方法aoo
,而B调用了class
A的方法aoo
,class
C也调用了class
A的方法aoo
突然有一天class
A的方法适用于class
C,但不适用与class
B,需要更改,这时你就需要更改class
A的方法aoo
一改。。。。class
C用不了了,这时就要改回来
所以我们需要让class
A的aoo
适用于class
B和class
C
我们让class
A继承一个interface
AI