日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

來源:程序員人生   發布時間:2014-11-11 08:37:30 閱讀次數:2528次

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

 

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


圖1:是用拜托

 

圖2:未使用拜托


 

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

**拜托的定義:

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

//定義拜托 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 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> /// 創建對應的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(); } } }


總結:

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

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品不卡一区 | 日韩一区精品视频 | 亚洲视频中文字幕 | 亚洲免费影院 | 亚洲精品久久久一区二区三区 | 国产亚洲精品久久久久久牛牛 | 成人免费视频国产 | 天堂91视频 | 欧美日韩视频在线 | 九九九久久 | 不卡一区二区在线 | 午夜伦伦影理论片大片飘花影院 | 婷婷成人精品视频在线观看 | 国内精品久久久久久影视8 成人午夜影院 | 免费黄色欧美 | 中文字幕第6页 | 国产一二在线观看 | 欧美日韩在线一区二区 | 国产精品高清一区二区 | 爱爱视频免费 | 福利在线电影 | 毛片播放器 | 亚洲欧洲视频在线 | 国产精品久久久久久久久久小说 | 欧美日本免费 | 免费的毛片视频 | 精品国产一区二区三区免费 | 久久综合五月天 | 成人精品免费视频 | 99视频这里有精品 | 激情伊人 | 国精品一区二区 | 欧美日韩高清 | 最新日韩在线观看 | 91视频在线看 | 不卡中文字幕av | 五月天久久久 | 久久久久国产一区二区三区四区 | 国产乱码精品一区二区三区不卡 | 国产精品video| 亚洲视频精品 |