无论模块是多么的'封闭‘,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭作出选择,他必须猜测出最有可能发生变化的种类。然后构造抽象来隔离那些变化。
最初编写代码是,假设变化不会发生,当变化发生时,我们就创建抽象来隔离以后发生同类变化。
面对需求对程序的改动时增加新代码而不是更改现有的代码。
开放封闭原则是米昂想对象设计的核心所在。遵循这个原则可以带来米昂系那个对象技术所声称的巨大好书,也就是可维护,可发展,可服用,灵活性好,开发人员应该仅对程序中呈现出频繁变化的那些部分作出抽象,然而对于应用吃呢供需中的每个布冯都可以地进行抽象同样不是一个好主意,拒绝不成熟的抽象本身一样重要