亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

設計模式—詳解篇—結構型模式

系統 2041 0

2. ? Fa?ade 外觀模式

為子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。

看圖說話:

?
設計模式—詳解篇—結構型模式

?

?

??? 此模式的具體體在: MVC service 層中某個 service dao 層的封裝, JDBC 對各個數據庫的封裝。

3. ? Proxy 代理模式

為其他對象提供一種代理,以控制對這個對象的訪問。

看圖說話:

?

?
設計模式—詳解篇—結構型模式

??? 代理對象中保存被代理對象的引用,在調用被代理對象過程中可以附加操作。

??? 使用場合:遠程代理;虛擬代理 ( 異步調用被代理對象的方法 ) ;安全代理;只能指引。不管什么場合都要是要在被代理對象上附加操作。

4. ? Adapter 適配器模式

將一個類的接口轉換成客戶希望的另外一個接口。 Adaper 模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。

看圖說話:


設計模式—詳解篇—結構型模式

?

????? ?? 適配器通過繼承目標對象并隱含被適配者的真正實現來達到目標操作與被適配者

的兼容合作。

5. ? Composite 組合模式

??? ???? 將對象組合成樹形結構以表示“部分—整體”的層次結構。組合模式使得用戶對單

個對象和組合對象的使用具有一致性。

??? 看圖說話:

?
??????????? 設計模式—詳解篇—結構型模式
?

實例應用: JUnit Test 接口中及 TestCase TestSuite 子類的結構即為組合模式。

適用于樹形結構,集合結構。

實現方式有兩種:透明方式與安全方式

透明方式:上圖的結構為透明方式,即在 Component 中管理子類對象的增減,問題是 Leaf 不應具有增減子類對象的功能。

安全方式:將增減子類的功能放在 Composite 中實現。解決了葉子節點的問題,但客戶端就要做出相應的判斷。

JUnit3.8 使用的是安全方式。

6. ? Decorator 裝飾模式(油漆工模式)

動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活。

看圖說話:

?
?????? 設計模式—詳解篇—結構型模式

?

裝飾者可以有自己的狀態和新的行為,只關心自己的變化,封裝了具體被裝飾的對象的行為。注意 decorate 方法的使用。

Proxy 對比,

A .一般代理模式中被代理對象是不被客戶端知道的,在代理對象初始化時或之前就已初始化好了的。而裝飾模式要知道具體的被裝飾對象及裝飾流程,被裝飾對象是通過 decorate 方法傳遞給裝飾者的。

B .代理對象一般不多,而裝飾者一般較多。

7 Bridge 橋接模式

????? 將抽象部分與它的實現部分分離,使它們都可以獨立地變化。

?????? ? 看圖說話:

?????????
????????? 設計模式—詳解篇—結構型模式
?

????? A .什么樣的事物適合它的抽象與實現相分離?

????? 注解:

復雜事物。

那有多復雜?這里涉及到個數學問題

我們假設看上面的每個抽象與它的實現都有一種組合關系,且有兩個具體的抽

象,兩個具體的實現。

如果使用 Bridge 模式,那么需要四個類來完成 2+2=4

如果使用繼承的方式實現也需要四個類來完成 2 × 2=4

所以可以知道,當具體的抽象和具體的實現組合數大于 4 時,使用橋接模式是

多么節省資源。

B .抽象與實現分離有什么好處?

注解:

???? 各自任意變化,且可以任意的組合。就像電腦的硬件可以是任意廠商的,軟件

可以是任意人開發的,但都可以相互組合一樣。

C .具體應用的體現。

MVC Service 層和 Dao 層之間可以看作橋接模式的體現,之前說過 Service

的某個 Service Dao 的封裝可以視為 Fa?ade 模式,那么此時橋接模式就可以看作是

多個 Fa?ade 的集合。

8. ? Flyweight 亨元模式

運用共享技術有效地支持大量細粒度的對象,避免大量擁有相同內容的小類的開銷,使大家共享一個元類。

看圖說話:

??????
? 設計模式—詳解篇—結構型模式
?

?

? A .當有當量的相似對象存在時,要抽象出相似的部分作為“元類”共享,讓差異

部分可以通過傳參的形式傳入到共享對象的方法中來達到差異操作。

? ?? B .注意關鍵點是 FlyweightFacory 的實現,通過它來達到共享的目的。

??? C .優缺點 :

?????? ???? 優點: Flyweight 模式是一個提高程序效率和性能的模式 , 會大大加快程

序的運行速度 . 應用場合很多

設計模式—詳解篇—結構型模式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美19综合中文字幕 | 日日爽夜夜 | 国产专区日韩精品欧美色 | 亚洲精品一区二区三区 | 久热这里只精品99国产6_99 | 在线播放亚洲精品富二代91 | 五月天狠狠干 | 亚洲欧美综合在线观看 | 黄色私人影院 | 草草在线观看视频 | 国语精品91自产拍在线观看二区 | 久久99精品久久久久久首页 | 国产综合精品在线 | 久久久精品日本一区二区三区 | www.国产精品 | 亚洲综合色婷婷在线观看 | 欧美日本在线 | 成年女人毛片 | 97影院理论 | 九天玄帝诀在线观看 | 国产精品免费视频能看 | 国产高清在线精品二区一 | 日韩永久免费进入2015 | 天天色操| 国产精品视频一区二区三区 | 久久桃花综合 | 日本高清无吗免费播放 | 久热精品视频在线播放 | 久久午夜影院 | 精品91精品91精品国产片 | 天天操天天舔天天干 | 亚洲一区二区免费视频 | 思99re久久这里只有精品首页 | 色婷婷一区 | 国产成人91高清精品免费 | 欧美日韩国产在线人成 | 操人视频网站 | 337p粉嫩大胆色噜噜噜 | 亚洲国产高清视频在线观看 | 国产亚洲新品一区二区 | www成人网 |