zoukankan      html  css  js  c++  java
  • 《大话设计模式》:开放-封闭原则

      开放-封闭原则:软件实体(类、模块、函数等等)应该可以扩展,但是不可以修改。对于扩展是开放的,对于更改是封闭的。

      针对的问题:怎样的设计才能面对需求的改变却可以保持相对的稳定,从而使得系统可以在第一个版本以后不断推出新的版本呢?

      

      无论模块是多么的“封闭”,都会存在一些无法对之封闭的变化,既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出抉择,他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。

      在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。

      我们希望的是在开发工作展开不久就知道可能发生的变化。查明可能发生的变化所等待的时间越久,要创建正确的抽象就越困难。

      开放-封闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中呈现出频繁变化的那部分做抽象,然而,对于应用程序中的每个部分都刻意地进行抽象同样不是一个好主意,拒绝不成熟的抽象和抽象本身一样重要。

  • 相关阅读:
    noip2016组合数问题
    noip2017奶酪
    洛谷1091合唱队形
    洛谷P1075 质因数分解
    洛谷1004方格取数
    POJ2393奶酪工厂
    NOIP2012国王游戏(60分题解)
    洛谷1106删数问题
    洛谷1209修理牛棚
    二维树状数组区间修改+区间查询模版
  • 原文地址:https://www.cnblogs.com/fanxiaopeng/p/4190432.html
Copyright © 2011-2022 走看看