日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开放封闭原则

發(fā)布時間:2025/3/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开放封闭原则 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

開放封閉原則


? ? ? ? ? 開放封閉原則:就是軟件實體(類、模塊、函數(shù)等等),應(yīng)該可以擴(kuò)展,但是不可修改。

? ? ? ? ??這個原則有兩個特征,一個是說對于擴(kuò)展是開放的,另一個是說對于更改時封閉的。

? ? ? ? ??軟實體包括:

? ? ? ? ??1、項目或軟件產(chǎn)品中按照一定的邏輯規(guī)則劃分的模塊。

? ? ? ? ??2、抽象和類。

? ? ? ? ??3、方法。


? ? ? ? ??無論模塊是多么的封閉,都會存在一些無法對之封閉的變化,既然不可能完全封閉,設(shè)計人員必須對于他設(shè)計的模塊,應(yīng)該對哪種變化封閉做出選擇,必須先猜測出最有可能發(fā)生的變化種類,然后構(gòu)造抽象來隔離那些變化。

? ? ? ? ??在我們最初編寫代碼時,假設(shè)變化不會發(fā)生,當(dāng)變化發(fā)生時,我們就創(chuàng)建抽象來隔離以后發(fā)生的同類變化。


? ? ? ? ??面對需求,對程序的改動是通過增加新代碼進(jìn)行的,而不是更改現(xiàn)有的代碼。

? ? ? ? ??我們希望的是在開發(fā)工作展開不就就知道可能發(fā)生的變化,查明可能發(fā)生的變化所等待的時間越長,要創(chuàng)建正確的抽象就越困難。

? ? ? ? ??開放封閉原則——是面向?qū)ο笤O(shè)計的核心所在,遵循這個原則可以帶來面向?qū)ο蠹夹g(shù)所聲稱的巨大好處,也就是可維護(hù),可擴(kuò)展,可復(fù)用,靈活性好,開發(fā)人員應(yīng)該僅對程序中呈現(xiàn)出頻繁變化的那些部分做出抽象,然而,對于應(yīng)用程序中的每個部分,都刻意的進(jìn)行抽象,同樣不是一個好主意,拒絕不成熟的抽象和抽象本身一樣重要。


? ? ? ? ??開放封閉原則對擴(kuò)展開放,對修改關(guān)閉,并不意味著不做任何修改,底層模塊的變更,必然要有高層模塊進(jìn)行耦合,否則就是一個孤立無意義的代碼片段。

? ? ? ? ??我們可以把變化分為如下三種:

? ? ? ? ??1、邏輯變化。

? ? ? ? ??2、子模塊變化。

? ? ? ? ??3、可見視圖變化。

總結(jié)

以上是生活随笔為你收集整理的开放封闭原则的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。