con*_*ist 8 oop open-closed-principle solid-principles
开放/封闭原则规定一个类应该开放以进行扩展,但是关闭以进行修改.
我认为修改部分严格指的是改变基类的源代码.但我与某人说过,这也涉及从基类中重写方法.
这个解释对吗?
覆盖很像任何人都可以注册的回调。就像是:
if (IsOverridden) CallCallback();
else DefaultImplementation(); //possibly empty
Run Code Online (Sandbox Code Playgroud)
从这个意义上说,没有任何修改。您只是重新配置对象来调用回调,而不是执行默认行为。
就像按钮的点击事件一样。您不会将订阅事件视为修改。是延伸。