四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

淺談C#中的延遲加載(2)——善用virtual

  之前的文章"淺談C#中的延遲加載(1)——善用委托"中介紹了三層結(jié)構(gòu)中在Model層對(duì)實(shí)體類(lèi)的屬性實(shí)現(xiàn)延遲加載的方法,該方法利用C#中的委托來(lái)實(shí)現(xiàn),最后雖然延遲加載的目的得以實(shí)現(xiàn),但是給客戶(hù)端(例如UI層)暴露了不必要的屬性(一個(gè)委托對(duì)象,我使用了泛型的Fun類(lèi)來(lái)實(shí)現(xiàn))。這篇文章介紹一種方法來(lái)隱藏這個(gè)屬性,同時(shí)又可以達(dá)到延遲加載的目的,更重要的是這一切都是在之前的基礎(chǔ)上來(lái)完成的,不需要改變?cè)瓉?lái)使用到實(shí)體類(lèi)的地方的代碼。

  按照慣例,我們考慮一下想要我們的代碼達(dá)到什么效果:首先在Model.Acticle(文章實(shí)體類(lèi))中的Category屬性和原來(lái)一樣,只在需要的時(shí)候通過(guò)調(diào)用委托來(lái)獲取文章所屬分類(lèi)(Model.ArticleCategory類(lèi))。同時(shí)這個(gè)委托是不被客戶(hù)端(例如UI層)代碼看到的。。。設(shè)計(jì)模式中有一句話(huà),大致的意思是通常在兩個(gè)事物之間加上一個(gè)中間層,可以把事情變得簡(jiǎn)單,于是我們這樣考慮,能不能加多一個(gè)中間層來(lái)實(shí)現(xiàn)呢?

  把Category屬性定義為虛擬的(virtual),去掉委托,繼承Model.Acticle類(lèi)實(shí)現(xiàn)一個(gè)子類(lèi),把委托放到到這個(gè)子類(lèi)里面來(lái),由個(gè)子類(lèi)里面去實(shí)現(xiàn)Category屬性的get選擇器,客戶(hù)端訪問(wèn)的是一個(gè)用該子類(lèi)做實(shí)例化的Model.Acticle類(lèi)對(duì)象,這樣一來(lái)客戶(hù)端代碼訪問(wèn)的依舊是Model.Acticle類(lèi),但是看不到用于實(shí)現(xiàn)延遲加載的委托卻又能在Category屬性中獲取到需要的數(shù)據(jù)。呵呵,由于我是寫(xiě)文章的人,所以覺(jué)得這個(gè)思路很好理解,但是看文字的您可能感覺(jué)有點(diǎn)暈,下面用代碼來(lái)說(shuō)明應(yīng)該就清楚了。

  首先我們修改Model.Acticle類(lèi),給他瘦身,瘦身結(jié)果如下:

c#代碼 
// 文章實(shí)體類(lèi)
  public class Article
 {
 
public int ArticleID { get; set; }
 
public string Title { get; set; }
 
public string Cotnent{ get; set; }
 
public DateTime CreateTime { get; set; }
 
public int CategoryID { get; set; }
 
// 文章所屬分類(lèi)
  public virtual Model.ArticleCategory Category
 {
get;
}
 }

NET技術(shù)淺談C#中的延遲加載(2)——善用virtual,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 笔仙2大尺度床戏| 李乃文朱媛媛电视剧| 卜冠今| 山楂树之恋电影剧情简介| 红旗车驾驶员个人主要事迹材料 | 蓝眼泪简谱| 色女孩视频| 不回微信判30年图片| 李道新| 眉间尺| 肉丸3| 核舟记课堂笔记| 内裤之穴| 布袋头| 德兰| 五年级上数学第一单元试卷| 美姐妹| 音乐僵尸演员表| 性欧美欧美| 卢达克里斯| 大森元贵| 血色樱花 电视剧| 周记作文| 隐秘而伟大豆瓣| 捉泥鳅的歌词| karina hart| 19岁女性写真| 成人的性行为免费| 护航 电影| 瑜伽教练韩国电影| 地铁女孩| 马德哈万| 艳妇乳肉豪妇荡乳xxx| 大奉打更人电视剧在线| 97热| 女人香韩国电影| 欢乐的牧童钢琴谱| 译制片《桥》| 韩世雅演的电影有哪些| 莫恭明| 天猫店铺运营|