簡要的記錄一下類的設計原則,乙個良好的類結構設計會對**整潔產生相當重要的影響,雖然不提倡過度設計,但一些簡單而實用的原則還是需要像對待法律一樣去嚴格遵守。觸犯這些原則,總能給我們帶來意想不到的麻煩。
1:單一職責(single responsible principle)對於乙個類,應該僅有乙個引起它發生變化的原因
2:開放閉合(open closed principle)類應該對擴充套件開放,對修改關閉
3:liskov替換(liskov substitution principle)子型別應該能替換他們的父型別,更多時候體現在面向介面程式設計
4:依賴倒置 (dependency inversion principle) 依賴抽象體,不要依賴固定的類
5:介面隔離 (inte***ce segregation principle)將介面的職責進行分類,組合使用介面
1:遵守單一職責這要求我們的類設計必須是高類聚的,在設計類的時候將不同的職責劃分到相應的類裡面。
2:開放閉合的乙個原則就是將類之間的耦合降低到抽象級別,而不是在具體類之間產生關聯
3:liskov替換是對ocp的擴充套件,不同的是lsp不僅依賴抽象耦合,更依賴前置條件和後置條件,當方法呼叫時前置條件不滿足,方法不應該被呼叫,後置條件不滿足,則方法不應該被返回,在設計中我們大多數情況還是將ocp作為我們的指導。
4:spring的依賴注入大家應該都很熟悉了,這樣我們的**不引用任何具體的類,只是在配置檔案中指定具體實體類;spring充當物件工廠,依賴注入會在執行時候將實力裝配到一起,這真是乙個偉大的思想。
5:做專案過程我見到太多的介面設計乙個介面能幹十幾個事情!於是我們用空方法實現介面!**醜陋的根源。如果我們能夠根據功能將介面進行拆分。這樣我們就能選擇性的實現了。
類設計是乙個任重而道遠的事情,作為低端碼農我任然懵懵懂懂的去摸索和探索,因為我知道終歸有天我們都會頓悟!如果想做更深刻的了解請讀《敏捷軟體開發:原則、模式與實踐》
SOLID設計原則筆記
如何寫出高質量的 是大家一直都在被拷問的難題。通常,軟體開發的最佳實踐都提倡 高內聚 低耦合 比如,在軟體的設計和開發過程中,應盡量做到,軟體各實體 如模組 類 函式等 的責任有清晰地定義和劃分,並盡量避免軟體實體之間的耦合,從而降低 的複雜度。solid是一系列軟體設計 開發的原則,是設計 開發出...
SOLID設計原則解讀
srp 單一職責原則 任何乙個軟體模組都應該只對某一類行為者負責 ocp 開閉原則 主要目標時讓系統易於擴充套件,同時限制其每次被修改所影響的範圍。實現方式就是將系統分為一系列元件,元件之間按層級關係分割,高階元件不會因低階元件的修改而收到影響。例子,系統中的輸出資訊方式不會因顯示設變的不同而不同,...
物件導向設計的SOLID原則
物件導向程式設計強調的是可擴充套件性,那麼我們要怎麼設計才具有更好的擴充套件性呢?solid原則是類級別的,物件導向的設計理念,它們與測試工具一起幫你改進腐壞的 solid由程式設計師們最喜歡的大叔 robert c.martin bob大叔 提出,它其實是五個其他縮略詞的組合 srp,ocp,ls...