1. 对于扩展是开放的(Open for extension)。 这意味着模块的行为是可以扩展的。换句话说,我们可以改变模块的功能。 2. 对于更改是封闭的(Close for modification)。 对模块行为进行扩展时,不必改动模块的源代码或者二进制代码。