欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

《設計模式》學習筆記——設計模式怎樣解決設計

系統(tǒng) 2342 0

1.1 設計模式怎樣解決設計問題

1.1.1 尋找合適的對象

面向對象設計最困難的部分是將系統(tǒng)分解為對象的集合。

設計的許多對象來源于現(xiàn)實世界的分析模型,這里和領域驅動設計有點關聯(lián)。分析所得到的類,很多事現(xiàn)實中并不存在的類。這是抽象的結果。設計中的抽象對于產生靈活的設計至關重要。就像我設計的一個流程調度模型。

1.1.2 決定對象的粒度

記筆記可以讓我達到沉流的狀態(tài)。

1.1.3 指定對象接口
1.1.4 描述對象實現(xiàn)

OMT表示法:

1、 對象:最上面的黑體表示類名,下面依次是操作,數(shù)據(jù)。

wps_clip_image-219

2、 實例化:虛線箭頭表示一個類實例化另外一個對象。

wps_clip_image-245

3、 繼承:豎線和三角表示繼承關系。

wps_clip_image-263

4、 抽象類:類名以黑體斜體表示,操作也用斜體表示。

5、 引用

wps_clip_image-293

箭頭加黑點表示一個類引用另外一個類。

重點:

1、 類的繼承和接口繼承的比較

對象的類和對象的類型的區(qū)別:

對象的類定義了對象是怎樣實現(xiàn)的,同時也定義了對象內部狀態(tài)和操作的實現(xiàn)。對象的類型只與它的接口有關。一個對象可以由多個類型(支持多個接口),不同類的對象可以有相同的類型。

類和類型緊密相連,類定義了對象的操作,也定義了對象的類型。

類的繼承和接口的繼承的差別:

c++中接口繼承接近于公有繼承純抽象類。純實現(xiàn)繼承或純類繼承接近于私有繼承。

2、 對接口編程,而不是對實現(xiàn)編程——面向對象設計的第一個原則

1.1.5 運用復用機制

1、 繼承和組合的比較

繼承是一種白箱復用,父類的內部細節(jié)對子類可見。

對象組合彼此不知道對方內部細節(jié),成為黑箱復用。

繼承的優(yōu)缺點:

1) 子類可以直接重定義父類的操作。

2) 編譯時刻決定了,無法在運行期間更改。

3) 子類要知道父類的實現(xiàn)細節(jié),這樣就部分破壞了封裝性。子類和父類依賴過于緊密,父類的某些變化必然導致子類的變化。開發(fā)過程中遇到過類似的問題。這種依賴,限制了靈活性以及復用性。比如,服務體系中經(jīng)常出現(xiàn)這樣的問題,導致代碼拷貝。

組合(通過獲得對象的引用而在運行時刻動態(tài)的定義)的優(yōu)缺點:

1) 對象間通過接口彼此交互。

2) 對象只能通過接口訪問,不要也不能知道對方細節(jié),這樣不會破壞封裝性。

3) 運行時刻可以使用另外一個對象替換這個對象,提高了靈活性。

4) 對象的實現(xiàn)基于接口編寫,所以實現(xiàn)上存在較少的依賴關系。

5) 優(yōu)先使用組合有助于保持每個類被封裝,并被集中在單個任務上,提高整體內聚性。類和類的層次都維持一個較小的規(guī)模,

6) 基于對象組合的設計會有更多的對象(而又較少的類),且系統(tǒng)的行為依賴于對象間的關系而不是定義在某個類的內部。

理想的情況下,應該通過組合原有構件實現(xiàn)新的功能,而不是創(chuàng)建新的構件。

面向對象設計的第二個原則:優(yōu)先使用對象組合,而不是類繼承。

2、 委托

委托時一種組合方法,它是組合具有與繼承同樣的能力。

委托的主要優(yōu)點在于它便于在運行時刻組合對象操作,以及更改操作的組合方式。它是軟件更加的靈活。

和其他的技術方案相同,它也存在不足之處:增加了軟件的復雜度——動態(tài)的,高度參數(shù)化的軟件比靜態(tài)的軟件更難于理解。

3、 繼承和參數(shù)化類型的比較

1.1.6 關聯(lián)運行時刻的結構和編譯時刻的結構
1.1.7 設計應支持變化

設計應該支持變化——所說的是,一個設計方案,對變化要有一定的適應性,即封裝變化。

變化是導致重新設計的原因。設計要對一定范圍內的變化友好。

4、

對于程序的分層設計,對于處于同一分層的模塊,對外應保持一定的抽象,并且,使用同種類型的通信協(xié)議。

《設計模式》學習筆記——設計模式怎樣解決設計問題


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 999毛片| 日韩精品亚洲一级在线观看 | www伊人 | 精品日韩欧美国产一区二区 | 色午夜在线 | 天天看高清特色大片 | 三级视频网址 | 国产一区二区三区视频 | 久久精品国产视频 | 五月婷婷狠狠干 | 日韩电影免费在线观看中文字幕 | 亚洲日韩中文字幕一区 | 国产精品久久久久久久免费大片 | 狠狠操网 | 中国大陆高清aⅴ毛片 | 成人免费观看视频 | 色www 永久免费网站 | 波多野结衣在线网址 | 精品免费久久久久久成人影院 | 日韩美在线 | 91精品久久久久久久久久小网站 | 日本欧美一二三区色视频 | 欧美日韩高清不卡免费观看 | 日本三级黄色片网站 | 57pao成人永久免费视频 | 国产日产精品一区二区三区四区 | 国产成人综合在线观看网站 | 国产视频三区 | 91久色视频| 一区二区中文 | 手机在线观看你懂得 | 久久精品二区 | 一级片国语 | 亚洲成人91| 精品一区二区三区在线观看 | 狠狠色欧美亚洲狠狠色五 | 哪里可以看免费的av | 久草网站在线 | 欧美精品一区二区三区在线 | 亚洲天堂网在线观看 | 最新中文字幕日本 |