![樂在其中設(shè)計模式_第1頁](http://file4.renrendoc.com/view/5e836c8a06fb0ce5792a46a3b0c84e93/5e836c8a06fb0ce5792a46a3b0c84e931.gif)
![樂在其中設(shè)計模式_第2頁](http://file4.renrendoc.com/view/5e836c8a06fb0ce5792a46a3b0c84e93/5e836c8a06fb0ce5792a46a3b0c84e932.gif)
![樂在其中設(shè)計模式_第3頁](http://file4.renrendoc.com/view/5e836c8a06fb0ce5792a46a3b0c84e93/5e836c8a06fb0ce5792a46a3b0c84e933.gif)
![樂在其中設(shè)計模式_第4頁](http://file4.renrendoc.com/view/5e836c8a06fb0ce5792a46a3b0c84e93/5e836c8a06fb0ce5792a46a3b0c84e934.gif)
![樂在其中設(shè)計模式_第5頁](http://file4.renrendoc.com/view/5e836c8a06fb0ce5792a46a3b0c84e93/5e836c8a06fb0ce5792a46a3b0c84e935.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
介紹保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。示例保證一個類僅有一個實例。Single1011^^tenericClass-屬性雪Instance:T-■套類型ISingletonCreatar[AClass-字段二,inst:±tlch:T泛型實現(xiàn)單例模式SingletonusingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Singleton日田{白中///<summary>I///泛型實現(xiàn)單例模式///</summary>卜///<typeparamname="T">需要實現(xiàn)單例的類</typeparam>publicclassSingleton<T>whereT:new()攤{斡///<summary>I///返回類的實例///</summary>publicstaticTInstance白中{H申get{returnSingletonCreator.instance;}}IclassSingletonCreator攤{internalstaticreadonlyTinstance=newT();b}TestusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingPattern.Singleton;publicpartialclassSingleton:System.Web.UI.Page曰田{protectedvoidPage_Load(objectsender,EventArgse)白中{//使用單例模式,保證一個類僅有一個實例Response.Write(Singleton<Test>.Instance.Time);Response.Write("<br/>");IResponse.Write(Singleton<Test>.Instance.Time);Response.Write("<br/>");I//不用單例模式I Testt=newTest();I Response.Write(t.Time);Response.Write("<br/>");I Testt2=newTest();I Response.Write(t2.Time);Response.Write("<br/>");}}publicclassTest曰田{privateDateTime_time;IIpublicTest()白中{ISystem.Threading.Thread.Sleep(3000);_time=DateTime.Now;}publicstringTime由由{get{return_time.ToString();}}}運行結(jié)果2007-2-1022:35:112007-2-1022:35:112007-2-1022:35:142007-2-1022:35:17樂在其中設(shè)計模式(C#)-適配器模式(AdapterPattern)介紹將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。示例有一個Message實體類,某個類對它的操作有Insert()和Get()方法?,F(xiàn)在需要把這個類轉(zhuǎn)到另一個接口,分別對應(yīng)Add()和Select()方法。
MessageModelusingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Adapter曰田{攤///<summary>I///Message實體類///</summary>publicclassMessageModel攤{斡///<summary>I ///構(gòu)造函數(shù)///</summary>I ///<paramname="msg">Message內(nèi)容</param>///<paramname="pt">Message發(fā)布時間</param>publicMessageModel(stringmsg,DateTimept)白中{this._message=msg;this._publishTime=pt;}privatestring_message;白中///<summary>///Message內(nèi)容///</summary>publicstringMessage白中{get{return_message;}set{_message=value;}}privateDateTime_publishTime;白中///<summary>I ///Message發(fā)布時間///</summary>publicDateTimePublishTime白中{get{return_publishTime;}set{_publishTime=value;}}}}SqlMessageusingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Adapter曰田{攤///<summary>I///源(Adaptee)角色I(xiàn)///Sql方式操作Message///</summary>publicclassSqlMessage白中{R申///<summary>I///獲取Message///</summary>///<returns></returns>publicList<MessageModel>Get()白中{List<MessageModel>l=newList<MessageModel>();l.Add(newMessageModel("SQL方式獲取Message",DateTime.Now));IIreturnl;}攤///<summary>///插入Message///</summary>I///<paramname="mm">Message實體對象</param>///<returns></returns>publicboolInsert(MessageModelmm)攤{〃代碼略Ireturntrue;}}}IMessageusingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Adapter日田{白中///<summary>I///目標(biāo)(Target)角色I(xiàn)///操作Message的接口卜///</summary>IpublicinterfaceIMessage{斡///<summary>I ///獲取Message///</summary>卜 ///<returns></returns>I List<MessageModel>Select();I白中///<summary>I /// 插入MessageI /// </summary>I /// <paramname="mm">Message實體對象</param>卜 /// <returns></returns>I boolAdd(MessageModelmm);}}MessageusingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Adapter曰田{攤///<summary>I///適配器(Adapter)角色I(xiàn) ///類適配器I ///把源適配到這個類///</summary>publicclassMessage:SqlMessage,IMessage攤{斡///<summary>I///獲取Message///</summary>///<returns></returns>publicList<MessageModel>Select()百中{returnbase.Get();}攤///<summary>///插入Message///</summary>I///<paramname="mm">Message實體對象</param>///<returns></returns>publicboolAdd(MessageModelmm)攤{returnbase.Insert(mm);}}}Message?usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Adapter曰田{攤///<summary>I///適配器(Adapter)角色I(xiàn)///對象適配器I///把源適配到這個類///</summary>publicclassMessage?:IMessage攤{privateSqlMessage_sqlMessage;白中///<summary>I///構(gòu)造函數(shù)///</summary>publicMessage2()白中{_sqlMessage=newSqlMessage();}白中///<summary>I///獲取Message///</summary>///<returns></returns>publicList<MessageModel>Select()百中{return_sqlMessage.Get();}攤///<summary>///插入Message///</summary>I///<paramname="mm">Message實體對象</param>///<returns></returns>publicboolAdd(MessageModelmm)攤{return_sqlMessage.Insert(mm);}}}clientusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingPattern.Adapter;publicpartialclassAdapter:System.Web.UI.Page曰田{protectedvoidPage_Load(objectsender,EventArgse)白中{IMessagem;I m=newMessage();I Response.Write("類適配器方式<br/>");I Response.Write(m.Add(newMessageModel("插入",DateTime.Now)));Response.Write("<br/>");I Response.Write(m.Select()[0].Message + " " + m.Select()[0].PublishTime.ToString());Response.Write("<br/><br/>");II m=newMessage2();I Response.Write("對象適配器方式<br/>");I Respo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國鏈條式燃煤氣化鍋爐行業(yè)投資前景及策略咨詢研究報告
- 平頂山2024年河南平頂山市農(nóng)業(yè)科學(xué)院招聘7人筆試歷年參考題庫附帶答案詳解
- 2025年鹽漬裙帶葉項目可行性研究報告
- 2025年桑拿服項目可行性研究報告
- 2025至2031年中國異型軋輥行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國套裝風(fēng)炮行業(yè)投資前景及策略咨詢研究報告
- 廣西2025年廣西生態(tài)工程職業(yè)技術(shù)學(xué)院招聘筆試歷年參考題庫附帶答案詳解
- 2025年劍桿綜框項目可行性研究報告
- 2025年中央供氧系統(tǒng)項目可行性研究報告
- 2025至2030年高錳鐵項目投資價值分析報告
- 走好群眾路線-做好群眾工作(黃相懷)課件
- NY∕T 4001-2021 高效氯氟氰菊酯微囊懸浮劑
- 《社會主義市場經(jīng)濟(jì)理論(第三版)》第七章社會主義市場經(jīng)濟(jì)規(guī)則論
- 漢聲數(shù)學(xué)圖畫電子版4冊含媽媽手冊文本不加密可版本-29.統(tǒng)計2500g早教
- 初中化學(xué)方程式匯總(魯教版)
- 企業(yè)組織架構(gòu)表
- 中國監(jiān)察制度史
- 搬家公司簡介(15個范本)
- 典范英語-2備課材料2a課件
- 抽水蓄能輔助洞室施工方案
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter7 Searching
評論
0/150
提交評論