<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      回頭再學Asp.net系列--基礎篇(六)

      2011-10-21 21:41  熬夜的蟲子  閱讀(357)  評論(0)    收藏  舉報

      隨著面向對象分析與設計的發展,一個良好的設計,核心原則之一就是將變化隔離,使得變化部分發生變化時,不變部分不受影響(這也是OCP的目的)。為了做到這一點,要利用面向對象中的多態性,使用多態性后,客戶類不再直接依賴服務類,而是依賴于一個抽象的接口,這樣,客戶類就不能在內部直接實例化具體的服務類。
      但是,客戶類在運作中又客觀需要具體的服務類提供服務,因為接口是不能實例化去提供服務的。就產生了“客戶類不準實例化具體服務類”和“客戶類需要具體服務類”這樣一對矛盾。
      依賴注入(Dependency Injection),是這樣一個過程:由于某客戶類只依賴于服務類的一個接口,而不依賴于具體服務類,所以客戶類只定義一個注入點。在程序運行過程中, 客戶類不直接實例化具體服務類實例,而是客戶類的運行上下文環境或專門組件負責實例化服務類,然后將其注入到客戶類中,保證客戶類的正常運行。
      Setter注入(Setter Injection)是指在客戶類中,設置一個服務類接口類型的數據成員,并設置一個Set方法作為注入點,這個Set方法接受一個具體的服務類實例為參數,并將它賦給服務類接口類型的數據成員。構造注入(Constructor Injection)是指在客戶類中,設置一個服務類接口類型的數據成員,并以構造函數為注入點,這個構造函數接受一個具體的服務類實例為參數,并將它賦給服務類接口類型的數據成員。
      上面提到的注入方式,都是客戶類被動接受所依賴的服務類,這也符合“注入”這個詞。不過還有一種方法,可以和依賴注入達到相同的目的,就是依賴獲取。
      可以看到,這種方法變被動為主動,使得客戶類在需要時主動獲取服務類,而將多態性的實現封裝到獲取點里面。獲取點可以有很多種實現,也許最容易想到 的就是建立一個Simple Factory作為獲取點,客戶類傳入一個指定字符串,以獲取相應服務類實例。如果所依賴的服務類是一系列類,那么依賴獲取一般利用Abstract Factory模式構建獲取點,然后,將服務類多態性轉移到工廠的多態性上,而工廠的類型依賴一個外部配置,如XML文件。
      不過,不論使用Simple Factory還是Abstract Factory,都避免不了判斷服務類類型或工廠類型,這樣系統中總要有一個地方存在不符合OCP的if…else或switch…case結構,這種缺 陷是Simple Factory和Abstract Factory以及依賴獲取本身無法消除的,而在某些支持反射的語言中(如C#),通過將反射機制的引入徹底解決了這個問題

      依賴獲取(Dependency Locate)是指在系統中提供一個獲取點,客戶類仍然依賴服務類的接口。當客戶類需要服務類時,從獲取點主動取得指定的服務類,具體的服務類類型由獲取點的配置決定。

      主站蜘蛛池模板: 日韩理伦片一区二区三区| 黄色A级国产免费大片视频| 国产高清精品在线一区二区| 亚洲人成网站观看在线观看| 日夜啪啪一区二区三区| 亚洲综合无码一区二区| 真实国产老熟女无套中出| 黄色A级国产免费大片视频| 古浪县| 在线免费观看毛片av| 亚洲经典在线中文字幕| 国产精品国产三级国产专i| 40岁大乳的熟妇在线观看| 亚洲a∨国产av综合av| 国产福利午夜十八禁久久| 日本伊人色综合网| 国产无遮挡又黄又大又爽| 天天色综网| 免费国产高清在线精品一区| 国产精品一码二码三码| 福利一区二区视频在线| 免费十八禁一区二区三区| 泾源县| 精品人妻一区二区| 无线日本视频精品| 欧美喷潮最猛视频| 久久精品中文字幕少妇| 亚洲精品一区国产欧美| 制服丝袜长腿无码专区第一页| 久久久精品2019中文字幕之3| 国产亚洲精品午夜福利| 精品国产精品午夜福利| 日本少妇自慰免费完整版| 亚洲av无码之国产精品网址蜜芽| 国产一区在线播放无遮挡| 美女扒开尿口让男人桶| 亚洲成av人片天堂网无码| 在线观看无码av免费不卡网站| 国产久久热这里只有精品| 日韩深夜免费在线观看| 天堂网av一区二区三区|