开放-关闭原则:是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改[ASD]。这其实说明了两个特征,一个是“对于扩展是开放的(Open for extension)”,另一个是“对于更改是封闭的(Closed for modification)”[ASD]。
对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。
对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。
开放-封闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就 是可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中呈现出频繁变化的那些部分做出抽象,然而,对于应用程序中的每个部分都刻意的进行抽象同样不 是一个好主意。拒绝不成熟的抽象和抽象本身一样重要[ASD]。过犹不及。
--------《大话设计模式》
原文:http://www.cnblogs.com/wayhow/p/3721920.html