【設計模式】四:開放-封閉原則

開發封閉原則 定義:軟件實體(類,模塊,函數等等)應該能夠擴展,可是不能夠修改 特徵:1:對於擴展是開發的,2:對於更改是封閉的 目標:當面對新的需求的時候,能夠不用修改或者大幅改動以前封裝好的內容,只須要進行擴展就能夠知足新的需求 實現方式:在最初接到需求的時候,就應該仔細思考,考慮到需求會發生哪些變化,想的越多,越全,這樣在面對需求更改的時候,          可使用最少的成本,最高效的完成。這就是一直說的百分之70的時間用來思考,百分之30的時間用來實現 實際狀況:不管模塊多麼封閉,在面對需求變化的時候,都沒法作到徹底封閉,均可能會有一些細微的改動,所以就須要在設計模塊的時候,          作出選擇,提早思考到有哪些變化種類,而後抽離出這些變化;例如以前實現的加減乘除,最開始直接到減的需求,而後產品又增長了          加的需求,此時咱們就應該想到會有不一樣的計算規則,所以就須要對計算規則抽象出一個基類,而後每一個具體的計算規則都繼承自這個基類          這樣新增新的計算規則時,只須要繼承實現就能夠了。 思考方向:          在實際的業務開發中,一開始咱們可能會想不到那麼多,咱們也沒法猜想產品的走向,能夠作一些簡單的封裝等操做便可,可是後來產品提出          了同類需求的時候,咱們就須要將他們之中的相同抽離,封裝,繼承,這樣在之後實現同類需求時就是在增長新的代碼,而不是在更改舊的代碼 注意:查明可能須要變化所等待的時間越長,到時候封裝,抽離越困難 重要性:開閉原則是面向對象的核心,遵循這個原則的話會體會到面向對象的可維護,可擴展,可複用,靈活性好的好處;但要注意拒毫不成熟的抽象
相關文章
相關標籤/搜索