定义
对于扩展是开放的,对于修改是封闭的
应用场景
无论多么‘封闭’的模块,都会存在一些无法对之封闭的变化,设计人员必须对于他设计的模块应对哪种变化封闭做出选择。先猜测出最可能发生的变化种类,然后构造抽象来隔离这些变化。
方法
运用面向对象的手段,比如继承,多台来隔离具体方法和类的耦合。
对于扩展是开放的,对于修改是封闭的
无论多么‘封闭’的模块,都会存在一些无法对之封闭的变化,设计人员必须对于他设计的模块应对哪种变化封闭做出选择。先猜测出最可能发生的变化种类,然后构造抽象来隔离这些变化。
运用面向对象的手段,比如继承,多台来隔离具体方法和类的耦合。