国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

熱門文章> 設計模式是什么 >

設計模式是什么

36氪企服點評小編
2022-01-14 18:13
2097次閱讀

| 企服解答

設計模式是一種抽象的編程思想,并不局限于某一特定的編程語言,而是在許多語言之間相通的。比如在Java、C#、C++語言當中,都可以使用到設計模式。但設計模式也有它的邊界,它的適用范圍是面向對象的編程語言。對于面向過程語言、函數式編程語言,談論設計模式是沒有意義的。設計模型可以大致分為3種模式:創建型模式、結構型模式、行為型模式。

設計模式是什么設計模式是什么

1、創建型模式

這一類設計模式的目的是用于創建對象。比如大家常用的工廠模式、單例模式,就屬于創建型模式。

2、結構型模式

這一類設計模式的目的是優化不同類、對象、接口之間的結構關系。比較常用的代理模式、裝飾者模式,就屬于結構型模式。

3、行為型模式

這一類設計模式的目的是更好地實現類與類之間的交互以及算法的執行。比如策略模式、觀察者模式,就屬于行為型模式。

| 拓展閱讀

10大設計原則包括了:1、單一職責原則 SRP;2、開放-封閉原則 OCP;3、里氏替換原則 LSP;4、接口隔離原則 ISP;5、依賴倒置原則 DIP;6、最少知識原則(迪米特原則)LOD;7、組合/聚合復用原則 CRP;8、不要重復你自己 DRY;9、盡量保持簡單 KISS;10、不要過度設計你暫時用不到的邏輯 YAGNI。

1、單一職責原則 SRP

實現類要職責單一:如果一段代碼塊(函數 類 模塊)負責多個功能,那么當 A 功能需求發生改變的時候改動了代碼,就有可能導致 B 功能出現問題,所以一段代碼塊只應該負責一個職責。

2、開放-封閉原則 OCP

要對擴展開放,對修改關閉:通過修改老代碼來實現新功能可能導致老模塊出現 BUG,所以我們應該通過開發新代碼塊來實現新功能

3、里氏替換原則 LSP

不要破壞繼承體系:程序中的子類應該可以替換父類出現的任何地方并保持預期不變。所以子類盡量不要改變父類方法的預期行為

4、接口隔離原則 ISP

設計接口的時候要精簡單一:當類 A 只需要接口 B 中的部分方法時,因為實現接口需要實現其所有的方法,于是就造成了類 A 多出了部分不需要的代碼。這時應該將 B 接口拆分,將類A需要和不需要的方法隔離開來

5、依賴倒置原則 DIP

面向接口編程:抽象不應該依賴細節,細節應該依賴于抽象。核心是面向接口編程,我們應該依賴于抽象接口,而不是具體的接口實現類或具體的對象
注意:上面的 SOLID 又稱為5大設計原則

6、最少知識原則(迪米特原則)LOD

降低耦合度:一個類或對象應該對其它對象保持最少的了解。只與直接的朋友(耦合)通信。

7、組合/聚合復用原則 CRP

多用組合少用繼承:盡可能通過組合已有對象(借用他們的能力)來實現新的功能,而不是使用繼承來獲取這些能力

8、不要重復你自己 DRY

功能語義重復應該合并,代碼執行重復應該刪減,代碼邏輯重復但語義不同應該保留

9、盡量保持簡單 KISS

盡可能使用簡單可讀性高的代碼實現功能,而不用邏輯復雜、實現難度高、可讀性差的方式

10、不要過度設計你暫時用不到的邏輯 YAGNI

不要過度優化、不要過度預留擴展點、不要設計同事看不懂的代碼。

[免責聲明]

文章標題: 設計模式是什么

文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。

消息通知
咨詢入駐
商務合作