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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式 GOF23 模式比较

發布時間:2023/12/10 asp.net 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式 GOF23 模式比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設計模式 GOF23 提綱

設計模式 GOF23 創建型

設計模式 GOF23 結構型

設計模式 GOF23 行為型

簡介

設計模式中很多模式及其相像,本文記錄一些常見的,易混淆的設計模式,對他們的目的、作用進行比較,以便更好的理解設計模式。

適配器模式、代理模式

代碼及其相似,都是將原本的類包裝在新的一個類里面。

類結構:

  • 適配器:Adaptee和Target沒有關系,接口方法也完全不同。
  • 代理:NetProxy和OutNet是繼承或兄弟關系,接口方法一致。

場景:

  • 適配器:一般發生在外來代碼(各種第三方),要適應現有環境。
  • 代理:自己開發的功能,需要進行增強。比如:AOP

目的

  • 適配器:更多的是為了適配,為了轉變,將原本不適用的接口、方法封裝成適應現有框架的接口、方法。
  • 代理:接口本身是適用的,但是需要增強,將現有框架的變成更強的。
// adaptee 為了能在體系中使用,只能在外面包一層 ObjectAdapter // 原方法 adapteeRequest 被封裝為 request // 封裝的目的是轉換,而不是加強! public class ObjectAdapter implements Target{public Adaptee adaptee;public ObjectAdapter(Adaptee adaptee) { this.adaptee = adaptee; }public void request(){System.out.println("ObjectAdapter request begin");adaptee.adapteeRequest();} }// 代理的原因 更多是增加,而不是轉換,原本的類也是能對接的。 public class NetProxy implements BaseNet{public OutNet outnet;@overridepublic void visit(){//通過真實對象,實現訪問if (outnet==null){outnet = new OutNet();}outnet.visit();} }

總結

以上是生活随笔為你收集整理的设计模式 GOF23 模式比较的全部內容,希望文章能夠幫你解決所遇到的問題。

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