黄色国产视频,男女啪啪18禁无遮挡激烈,久草热8精品视频在线观看,四虎国产精品永久在线下载

            C#設計模式系列適配器模式教程介紹

            時間:2022-06-28 06:19:18 設計 我要投稿
            • 相關推薦

            C#設計模式系列適配器模式教程介紹

              1. 概述

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

              2. 解決的問題

              即Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以在一起工作。

              3. 模式中的角色

              3.1 目標接口(Target):客戶所期待的接口。目標可以是具體的或抽象的類,也可以是接口。

              3.2 需要適配的類(Adaptee):需要適配的類或適配者類。

              3.3 適配器(Adapter):通過包裝一個需要適配的對象,把原接口轉換成目標接口。

              4. 模式解讀

              注:在GoF的設計模式中,對適配器模式講了兩種類型,類適配器模式和對象適配器模式。由于類適配器模式通過多重繼承對一個接口與另一個接口進行匹配,而C#、java等語言都不支持多重繼承,因而這里只是介紹對象適配器。

              4.1 適配器模式的類圖

              4.2 適配器模式的代碼實現

              ///

            /// 定義客戶端期待的接口 ///

            public class Target { ///

            /// 使用virtual修飾以便子類可以重寫 ///

            public virtual void Request() { Console.WriteLine("This is a common request"); } } ///

            /// 定義需要適配的類 ///

            public class Adaptee { public void SpecificRequest() { Console.WriteLine("This is a special request."); } } ///

            /// 定義適配器 ///

            public class Adapter:Target { // 建立一個私有的Adeptee對象 private Adaptee adaptee = new Adaptee(); ///

            /// 通過重寫,表面上調用Request()方法,變成了實際調用SpecificRequest() ///

            public override void Request() { adaptee.SpecificRequest(); } }

              4.3 客戶端代碼

              class Program { static void Main(string[] args) { // 對客戶端來說,調用的就是Target的Request() Target target = new Adapter(); target.Request(); Console.Read(); } }

              運行結果

              5. 模式總結

              5.1 優點

              5.1.1 通過適配器,客戶端可以調用同一接口,因而對客戶端來說是透明的。這樣做更簡單、更直接、更緊湊。

              5.1.2 復用了現存的類,解決了現存類和復用環境要求不一致的問題。

              5.1.3 將目標類和適配者類解耦,通過引入一個適配器類重用現有的適配者類,而無需修改原有代碼。

              5.1.4 一個對象適配器可以把多個不同的適配者類適配到同一個目標,也就是說,同一個適配器可以把適配者類和它的子類都適配到目標接口。

              5.2 缺點

              對于對象適配器來說,更換適配器的實現過程比較復雜。

              5.3 適用場景

              5.3.1 系統需要使用現有的類,而這些類的接口不符合系統的接口。

              5.3.2 想要建立一個可以重用的類,用于與一些彼此之間沒有太大關聯的一些類,包括一些可能在將來引進的類一起工作。

              5.3.3 兩個類所做的事情相同或相似,但是具有不同接口的時候。

              5.3.4 舊的系統開發的類已經實現了一些功能,但是客戶端卻只能以另外接口的形式訪問,但我們不希望手動更改原有類的時候。

              5.3.5 使用第三方組件,組件接口定義和自己定義的不同,不希望修改自己的接口,但是要使用第三方組件接口的功能。

              6. 適配器應用舉例

              6.1 使用過ADO.NET的開發人員應該都用過DataAdapter,它就是用作DataSet和數據源之間的適配器。DataAdapter通過映射Fill和Update來提供這一適配器。

              6.2 手機電源適配器

              以上就是本文的全部內容,希望能給大家一個參考,也希望大家多多支持。

            【C#設計模式系列適配器模式教程介紹】相關文章:

            C#設計中單例模式實例講解06-29

            Python設計模式:工廠方法模式講解06-29

            設計模式課程設計報告07-03

            常見的網頁布局設計模式07-14

            實例講解Ruby使用設計模式中的裝飾器模式的方法參考06-29

            C++編程中如何使用設計模式中的policy策略模式的例子講解06-29

            環境設計專業教學模式分析07-03

            汽車客運中心設計模式分析論文07-03

            14種常見的網站模板設計模式07-14

            未來Web 2.0模式下人才招聘模式假想07-03

            主站蜘蛛池模板: 久久久久免费精品视频| 少妇放荡的呻吟干柴烈火99v| 免费午夜理论不卡| 丁香婷婷视频| 亚洲爆爽| 91视频看片| 精品国产成人高清在线观看| 成人无码视频| 欧美精品一级片| 天天操天天谢| 手机在线不卡一区二区| 中国农村熟妇性视频| 国产在线拍揄自揄视精品按摩| 亚洲天堂网在线观看| 狠狠躁夜夜躁久久躁别揉| 色拍拍国产精品视频免费观看| 97国产高清| 日韩毛片欧美一级a| 99热在线免费播放| 日韩精品无码区免费专区| 24小时日本在线www免费的| 麻豆91精品91久久久| 最新日韩在线| 日本性生活大片| 秋霞国产精品一区二区| 日本一区二区三区爆乳| 欧美粗暴se喷水| 国产精品黄色网| 中文字幕190s页| 亚洲欧洲av一区二区久久| 又黄又爽又色视频| 男人添女人高潮免费网站打开网站 | 蜜桃免费在线视频| 精品国产午夜肉伦伦影院| 亚洲欧美日韩国产综合在线一区| 香蕉视频在线观看亚洲| 青青艹在线观看| 免费一级a毛片在线播放| 色爱综合激情五月激情| 人妻av乱片av出轨| www.九色|