多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 互聯(lián)網 > 機房收費系統(tǒng)合作版(五)――初識委托

機房收費系統(tǒng)合作版(五)――初識委托

來源:程序員人生   發(fā)布時間:2014-11-11 08:37:30 閱讀次數:2523次

拜托是甚么?你對拜托熟習嗎?答案是肯定的!你對拜托1定很熟習!對拜托的熟習,正如你對1個倒立著的人1樣熟習!為何這么說?由于方法的調用對每個學習過編程的人來講都很熟習,而且是熟習的不能再熟習了!那末方法的調用和拜托又有甚么關系呢?其實拜托就是將被動調用改成了主動服務。

 

拜托其實就是1種思想的轉變:由之前的被動調用方法轉變成,主動服務于某個方法。將方法間的交互思惟做了1個轉變。學習過3層的人不難想象方法之間的調用關系吧,那末使用了拜托以后他們方法之間的關系又是甚么樣的呢?(借用兩張圖展現1下)


圖1:是用拜托

 

圖2:未使用拜托


 

從宏觀的角度弄清楚了“拜托”是甚么了。再用1段代碼來展現拜托更加細節(jié)的1面:

**拜托的定義:

注意視察拜托的定義,不難發(fā)現,拜托與類同級。

//定義拜托 public delegate void AddEventHandler<T>(T t); public delegate void DeleteEventHandler<T>(T t); public delegate void UpdateEventHandler<T>(T t); public delegate void QueryEventHandler<T>(T t); public delegate T IsExistsEventHandler<T>(T t);

**拜托的事件:

注意視察事件的定義,不難發(fā)現,事件與方法同級

//定義事件 public event AddEventHandler<T> AddEvent; public event DeleteEventHandler<T> DeleteEvent; public event UpdateEventHandler<T> UpdateEvent; public event QueryEventHandler<T> QueryEvent; public event IsExistsEventHandler<T> IsExistsEvent;

**將方法與拜托綁定:

+= new AddEventHandler<T>(this.manager.Add); += new DeleteEventHandler<T>(this.manager.Delete); += new UpdateEventHandler<T>(this.manager.Update); += new QueryEventHandler<T>(this.manager.Query); += new IsExistsEventHandler<T>(this.manager.isExist);

**為事件裝載拜托:

this.AddEvent += new AddEventHandler<T>(this.manager.Add); this.DeleteEvent += new DeleteEventHandler<T>(this.manager.Delete); this.UpdateEvent += new UpdateEventHandler<T>(this.manager.Update); this.QueryEvent += new QueryEventHandler<T>(this.manager.Query); this.IsExistsEvent += new IsExistsEventHandler<T>(this.manager.isExist);<strong style="color: rgb(51, 51, 255);"> </strong>

**全部登錄窗體的外觀層代碼:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Login.Model.Entity.Base; using Login.Model.Adapter; using Login.Model.Entity; using System.Reflection; namespace Login.Controller { //定義拜托 public delegate void AddEventHandler<T>(T t); public delegate void DeleteEventHandler<T>(T t); public delegate void UpdateEventHandler<T>(T t); public delegate void QueryEventHandler<T>(T t); public delegate T IsExistsEventHandler<T>(T t); public class FacadeManager<T, TCollection> { private superManager<T,TCollection> manager; //定義事件 public event AddEventHandler<T> AddEvent; public event DeleteEventHandler<T> DeleteEvent; public event UpdateEventHandler<T> UpdateEvent; public event QueryEventHandler<T> QueryEvent; public event IsExistsEventHandler<T> IsExistsEvent; public FacadeManager(T t) { this.manager = this.createManager(t); this.AddEvent += new AddEventHandler<T>(this.manager.Add); this.DeleteEvent += new DeleteEventHandler<T>(this.manager.Delete); this.UpdateEvent += new UpdateEventHandler<T>(this.manager.Update); this.QueryEvent += new QueryEventHandler<T>(this.manager.Query); this.IsExistsEvent += new IsExistsEventHandler<T>(this.manager.isExist); } /// <summary> /// 創(chuàng)建對應的Manager /// </summary> /// <param name="t"></param> /// <returns></returns> public superManager<T,TCollection> createManager(T t){ string className = typeof(T).ToString() + "Manager"; className = className.Substring(className.LastIndexOf('.')+1); //return (superManager<T>)Assembly.Load("Login").CreateInstance("Login.Controller." + className); //參數數組 Object[] o =new Object[1]; o[0]=t; return (superManager<T,TCollection>)Assembly.Load("Login").CreateInstance("Login.Controller." + className, false, System.Reflection.BindingFlags.Default, null, o, null, null); } /// <summary> /// 判斷是不是存在 /// </summary> /// <param name="t"></param> /// <returns></returns> public T isExist(T t) { //return manager.isExist(t); return this.IsExistsEvent(t); } public bool add(T t) { throw new NotImplementedException(); } public bool update(T t) { throw new NotImplementedException(); } public bool delete(T t) { throw new NotImplementedException(); } } }


總結:

天下之事難易乎?為之,則難者亦易矣;不為,則易者亦難矣。人之為學有難易乎?學之,則難者亦易矣;不學,則易者亦難矣。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品 第二页 | 美国一级免费毛片 | 99精品国产在这里白浆 | 亚洲人成网址在线观看 | www.爱爱.com | 国产成人精品一区二区三在线观看 | 91久色视频 | 国产亚洲综合精品一区二区三区 | 欧美一级视频免费 | japan高清日本乱xxxx | 国产精品一级二级三级 | 香蕉国产成版人视频在线观看 | 亚洲欧洲在线观看 | 丁香婷婷激情综合 | 欧洲高清 | 国产一区二区视频在线 | 久久久综合久久 | 看毛片的网址 | 亚洲色网址 | 国产精品久久久久三级 | 亚洲国产精品人久久 | 久久一区二区三区不卡 | 国产精品免费αv视频 | 日本欧美一区二区三区在线 | 亚洲黄色大全 | 色妞影视 | 亚洲欧美成人永久第一网站 | 国产女主播一区二区在线观看 | 国产成人精品区在线观看 | 免费网站看v片在线观看 | 亚洲精品自拍区在线观看 | 亚洲精品一区二 | 欧美国产第一页 | 欧美日韩亚洲一区二区三区 | 性激烈的欧美三级视频中文字幕 | 曰本人一级毛片免费完整视频 | 亚洲欧美精品一区 | 宇都宫紫苑在线播放ed2k | 另类小说欧美 | 国产精品欧美一区二区在线看 | 羞羞影院免费观看网址在线 |