成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

結合設計模式說說如何設計類

開發 架構
學習設計模式有一段時間了,現想小結一下,說說我對類的設計的一些常用法則的理解。

一,SOLID法則:

Single responsibility principle

每個類僅僅承擔一個具體的任務。特別是那些明顯不屬于類的功能,應該封裝到新的類里去。界面和邏輯的分離就是個很好的例子。

Open/Closed principle

軟件開發必須考慮可擴展性,但是擴展不能更改現有的代碼,否則可能更引起大范圍的連鎖反應。設計類的時候,可以通過抽象來隔離變化,并通過繼承來實現變化。

Liskov substitution principle

如果派生類B公有繼承了基類A,即類B是類A的子類型,那么子類型就能夠替換掉父類型,而且這種替換關系不可逆。正是這種替換關系使得父類可以被復用。注意并不是所有的"is a"關系都適用里氏代換,比方說:足球和美式足球都叫足球,但是編程的時候,美式足球不能認足球為父類,因為足球只能用腳,而美式足球可以用手。

Interface segregation principle

接口類設計要盡量簡練,只需要包含必要的功能即可。比方說:可以簡練到只包含一個純虛函數。

Dependency inversion principle

針對接口編程,而不是針對實現編程。這樣使用接口的類就和接口的具體實現分開了,雙方都可以靈活自如,只要遵守接口約定即可。實踐中純虛函數就是接口,針對接口編程就是重寫純虛函數。

二,IC法則(為方便記憶我個人取的名字):

Encapsulation/Information hiding

類的內部數據對外不可見,而只能通過其自身行為改變。封裝不僅僅是數據隱藏,也可以是變化點的隱藏。很多設計模式都使用封裝來創建接口類,在接口類一側的修改不會影響到另一側,從而松開這兩側的耦合,增強了軟件的復用。如果被隱藏的具體被調用類報錯,只能修改被調用類,而不能在調用類中繞開錯誤。

Composition

優先使用組合而不是繼承。繼承是在編譯時刻靜態定義的,而組合可以在運行時刻動態選擇。繼承對子類揭示了其父類的實現細節,這就破壞了封裝,而組合要求對象遵守共同的接口約定,并不破壞封裝。繼承中的子類和父類有緊密的依賴關系,而組合由于多了一層接口并不相互依賴。過多的繼承可能導致類爆炸,不利于后期的維護,而組合可以防止類爆炸,減少繼承層次。

參考文獻:

GOF

《設計模式精解》

《大話設計模式》

原文鏈接:http://www.cnblogs.com/xfu123/archive/2012/06/28/2558377.html

【編輯推薦】

  1. JavaScript設計模式之代理模式
  2. 利用 SPL 快速實現 Observer 設計模式
  3. 設計模式系列之代理模式
  4. 從理發店流程抽象設計模式中的組合模式
  5. 大話惱人的那些設計模式

責任編輯:彭凡 來源: 博客園
相關推薦

2012-07-10 01:59:12

設計模式

2021-10-29 09:40:21

設計模式軟件

2010-07-05 16:23:39

UML類圖

2021-02-01 10:01:58

設計模式 Java單例模式

2021-11-29 10:27:24

設計模式程序員

2023-11-02 21:11:11

JavaScript設計模式

2020-12-17 09:38:16

設計模式參數

2010-06-09 19:17:46

UML

2013-01-11 09:40:56

設計模式.NET

2022-01-12 13:33:25

工廠模式設計

2023-05-04 08:47:31

命令模式抽象接口

2020-03-31 21:50:41

JavaScript前端技術

2010-08-11 09:15:07

設計模式Python

2013-09-22 09:30:44

卡片式設計響應式

2020-08-21 07:23:50

工廠模式設計

2020-11-04 08:54:54

狀態模式

2023-04-10 09:20:13

設計模式訪客模式

2013-11-26 16:09:34

Android設計模式

2020-11-03 13:05:18

命令模式

2020-10-23 09:40:26

設計模式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品一区二区 | 久在线视频播放免费视频 | 91高清视频| 亚洲精品不卡 | 中文字幕在线观看av | 91免费看片 | 国产精品视屏 | 超碰97人人人人人蜜桃 | 自拍 亚洲 欧美 老师 丝袜 | 中文字幕不卡在线88 | 国产精品高潮呻吟久久av黑人 | 亚洲成色777777在线观看影院 | 999re5这里只有精品 | 欧美xxxx色视频在线观看免费 | 免费在线视频精品 | gogo肉体亚洲高清在线视 | 亚洲精品888 | 成人在线视频网站 | 水蜜桃久久夜色精品一区 | 日本一区二区影视 | 美女视频一区二区三区 | 日韩视频成人 | 国产精品日韩一区二区 | 国产精品美女久久久久久免费 | 97国产精品视频 | 一级高清 | 亚洲视频1区 | 国产在线激情视频 | 欧美一级黄带 | 黄色在线观看网址 | 亚洲精品一级 | 午夜电影合集 | 亚洲精品在线视频 | 国产欧美日韩精品在线观看 | 四虎影音 | 伊人狠狠 | 亚洲精品乱码久久久久久蜜桃91 | 国产精品日韩一区 | 亚洲在线| 国产精品久久久久久久久久三级 | 日韩成人免费视频 |