日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

也说说“从Adapter模式到Decorator模式”

發布時間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 也说说“从Adapter模式到Decorator模式” 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

終于有時間寫點什么了,可以前醞釀好的東西似乎一下子都忘記了。這幾天看了wayfarer的《《讓僵冷的翅膀飛起來》系列之三——從Adapter模式到Decorator模式》 后,感覺這樣的文章真應當多發一些,激發思路。只是本來想用高級評論,卻發現默認高級評論使用的是CuteEditor,在我的機器上根本無法使用,鼠標 始終是沙漏(不知道是不是跟防火墻有關),而自己又無法選擇使用什么編輯器編輯高級評論,所以才不得不寫篇文章說說我的想法,看來又要有勞dudu了。

當 初提出使用Decorator模式的是我,可現在提出異議的又是我,不要說我胡攪蠻纏,討論中才能增長經驗呀。wayfarer與idior的評論對我有 很大啟發,但我發現現在似乎有些問題沒有定義清楚,導致在探討解決辦法時模棱兩可。第一,原有設計是否不允許有任何變動。wayfarer的文章中,似乎 默認是不允許對原有系統進行任何修改,而是通過增加新代碼的方式提供新功能。否則以下的設計就應當能夠解決問題了:

第 二,新增加的Resize方法是否與RM或MPEG的具體實現糾纏不清。如果Resize的實現相對獨立,只要針對抽象VideoMedia中的方法和屬 性就可以完成所有功能,那么使用Decorator模式無疑是個不錯的選擇,丑陋的"if (!(vedio is RM))"也可以不用出現在代碼當中(具體可以參考wayfarer的原文)。設計如下:

因為SizeDecorator中的Resize方法只針對VideoMedia中的抽象方法執行操作,所以系統也就沒有必要判斷VideoMedia具體是RM還是MPEG,多態性自動替我們解決了這個問題。

但 是,正如wayfarer和idior所說的,Decorator并不適合為一個對象添加新功能。否則當對一個VideoMedia應用多個 Decorator時,從類型上講用戶只能看到最后一次Decorate時加入的新功能,以前的Decorator所起的作用被"屏蔽"了。

除 此之外,如果Resize方法依賴于具體的VideoMedia類型,那恐怕帶來的就是災難了。因為在編寫Resize方法時,必須清楚的知道你是對RM 操作還是對MPEG操作,VideoMedia類型的_video也就形同虛設,丑陋的"if (!(vedio is RM))"也必不可免了。在這種情況下,還不如使用"類適配器模式"好(可以參考《《《讓僵冷的翅膀飛起來》系列之二——從實例談Adapter模式)。

第 三,Visitor模式是否可行?其實,如果將條件限定為不允許改變任何原有代碼的化,Visitor模式根本沒有用武之地。因為Visitor模式象踢 皮球一樣需要一個"回傳"功能,才能針對具體類型具體操作。可添加"回傳(允許被Visit)"功能必須修改VideoMedia、RM與MPEG,這樣 就違反了規則。

所以,我們應將盡量"針對抽象編程"。這樣可以防止Resize方法過分依賴于具體。否則,不管使用哪種模式,都會"犧 牲"大量的代碼。除此之外,當我們必須了解類型信息時,同時又要保證類型匹配(RMDecorator只能裝飾RM)時,可以考慮使用抽象工廠(取其 意),將RMDecorator、與RM認為是一個產品族。

另外,如果需要動態為現有對象添加多個方法時,是否可以考慮使用 DynamicProxy,借助Mixin機制為一個類動態添加行為。但是我剛剛開始學習DynamicProxy、AOP和Mixin,感覺在需要我們 了解具體類型后再進行操作的場合下,這些機制似乎幫不了什么太大的忙。如果有這方面的高手,還望指點一二。

?

轉載于:https://my.oschina.net/qihh/blog/57825

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的也说说“从Adapter模式到Decorator模式”的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人av在线网址 | 国产又色又爽又高潮免费 | 丝袜熟女一区二区 | 国产精品国产三级国产播12软件 | 国产在线日韩 | 极品久久久久久 | 人人爽人人爽人人片 | 免费看的黄色小视频 | 啪啪免费 | 九九久久精品 | aaa午夜| 国产午夜精品免费一区二区三区视频 | 伊人伊网| 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 亚洲精品久久久久久久蜜桃 | 欧美三级中文字幕 | 91视频三区| 激情在线观看视频 | 亚洲社区在线观看 | 青青草原综合久久大伊人精品 | 欧美日韩一区二区三 | av手机网站 | 久久精品人人做人人爽 | 免费av观看 | 国内自拍视频在线播放 | 国产123区 | 蜜臀久久99精品久久久久久宅男 | 看了下面会湿的视频 | 99国产精品99久久久久久粉嫩 | 日本高清在线观看 | 国产肉体xxxx裸体784大胆 | 亚洲精品国产精品乱码在线观看 | av免费大片 | 女人高潮特级毛片 | 黑人玩弄人妻一区二区三区四 | 韩国av一区二区 | 欧美日本一二三区 | 日本五十路女优 | 国产成人精品久久二区二区 | 少妇裸体挤奶汁奶水视频 | 国产伦精品一区二区三区照片 | 秋霞亚洲 | 中文字幕一区二区三区手机版 | 97久久人澡人人添人人爽 | 国产综合一区二区 | 一区二区在线精品 | 中文字幕2区 | 亚洲免费一区 | 不卡av在线免费观看 | 一级在线毛片 | 久久夜色精品国产欧美乱极品 | 好爽又高潮了毛片 | 天天色天天色天天色 | 国产乱一区二区三区 | 久久伊人网站 | 深夜福利网| 年下总裁被打光屁股sp | 一二三四av| 国产免费a | 欧美精品一区二区三区视频 | 黑人巨大精品欧美一区二区免费 | 精品国产精品网麻豆系列 | 成人黄色片在线观看 | 中文字幕免费av | 第一色影院 | 波多野结衣视频在线播放 | 亚洲免费一二三区 | 免费在线观看黄视频 | 制服丝袜av一区二区三区下载 | 中文字幕一区2区3区 | 中文字幕乱码中文乱码777 | 97精品人妻麻豆一区二区 | 亚洲成人av综合 | 天天躁狠狠躁狠狠躁夜夜躁68 | 国产成人tv | 在线免费观看黄色av | 国产在线视频自拍 | 天天射天天干 | 锕锕锕锕锕锕锕锕 | 天天操,夜夜操 | 日本精品二区 | 亚洲高清资源 | 男女瑟瑟视频 | 免费在线精品视频 | 美女四肢被绑在床扒衣 | 天天摸夜夜爽 | 欧美色图影院 | 亚洲精品中文无码AV在线播放 | 女女互慰吃奶互揉调教捆绑 | 日韩一区二区三区久久 | 无码人妻精品一区二区三 | 欧美黄色片 | 毛片一卡二卡 | 重囗另类bbwseⅹhd | 色射网 | 嫩草国产在线 | 中文在线а√天堂官网 | 丰满少妇一区二区三区 | 日本一区二区在线播放 |