最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net SAF 中緩存服務(wù)的實現(xiàn)第2/5頁

 更新時間:2008年08月08日 21:28:49   作者:  
對緩存的興趣源于張子陽寫的一篇文章《SAF 中緩存服務(wù)的實現(xiàn)》中的一個例子:

類型接口 
我們先看一下類型的組織,然后再看實現(xiàn)。 

       ICacheStrategy用于定義如何添加、獲取、刪除欲進行緩存的對象。實際上,在接口的實體類中要明確使用何種類型來存儲對象,是Dictionary還是Hashtable或者其他。 
C# 
復(fù)制代碼 代碼如下:

public interface ICacheStrategy {        
    void AddItem(string key, object obj);// 添加對象     
    object GetItem(string key);      // 獲取對象     
    void RemoveItem(string key); // 刪除對象     
}   
 
       接下來是Cache類,這個類包含了主要的邏輯,包括 動態(tài)構(gòu)建的XML文檔、將Xml文檔映射到Hashtable 等。
復(fù)制代碼 代碼如下:

public class Cache {     
    void AddItem(string xpath, object obj);     
    object GetItem(string xpath);     
    object[] GetList(string xpath);     
    void RemoveItem(string xpath);     
}  
  
       僅從接口上看,這個類似乎和ICacheStrategy的沒有太大分別,實際上,這個類保存了一個對于ICacheStrategy類型實例的引用,最后一步的實際工作,都委托給了ICacheStrategy去完成。而在此之前各個方法的工作主要是由 Xml結(jié)點到Hashtable的映射(這里說是Hashtable,是因為它是作者提供的一個默認實現(xiàn),當(dāng)然也可以是其他)。 

類型實現(xiàn) 
我們首先看DefaultCacheStrategy,它實現(xiàn)了ICacheStrategy接口,并使用Hashtable存儲對象。  

復(fù)制代碼 代碼如下:

public class DefaultCacheStrategy : ICacheStrategy {     
    private Hashtable objectStore;     

    public DefaultCacheStrategy() {     
       objectStore = new Hashtable();     
    }     

    public void AddItem(string key, object obj) {     
       objectStore.Add(key, obj);     
    }     

    public object GetItem(string key) {     
       return objectStore[key];     
    }     

    public void RemoveItem(string key) {     
       objectStore.Remove(key);     
    }     
}    

接下來我們一步步地看Cache類的實現(xiàn),下面是Cache類的字段以及構(gòu)造函數(shù)(注意為私有)。 Java復(fù)制代碼
復(fù)制代碼 代碼如下:

public class Cache {     
    private XmlElement rootMap;             // 動態(tài)構(gòu)建的 Xml文檔 的根結(jié)點     
    private ICacheStrategy cacheStrategy;   // 保存對ICacheStrategy的引用     
    public static readonly Cache Instance = new Cache();  // 實現(xiàn)Singleton模式     
    private XmlDocument doc = new XmlDocument();   // 構(gòu)建 Xml文檔     

    // 私有構(gòu)造函數(shù),用來實現(xiàn)Singleton模式     
    private Cache() {     
       // 這里應(yīng)用了Strategy模式。     
       // 改進:可以將使用何種Strategy定義到app.config中,然后使用反射來動態(tài)創(chuàng)建類型     
       cacheStrategy = new DefaultCacheStrategy();     

       // 創(chuàng)建文檔根結(jié)點,用于映射 實際的數(shù)據(jù)存儲(例如Hashtable) 和 Xml文檔     
       rootMap = doc.CreateElement("Cache");     

       // 添加根結(jié)點     
       doc.AppendChild(rootMap);     
    }     
    // 略...     
}  

相關(guān)文章

  • Excel自定義關(guān)閉按鈕實現(xiàn)代碼

    Excel自定義關(guān)閉按鈕實現(xiàn)代碼

    這篇文章主要介紹了Excel自定義關(guān)閉按鈕實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • .net開發(fā)微信公眾平臺實例教程

    .net開發(fā)微信公眾平臺實例教程

    這篇文章主要介紹了.net開發(fā)微信公眾平臺的方法,對微信公眾平臺開發(fā)的原理與相應(yīng)的.net實現(xiàn)方法都做了較為詳細的講述,非常實用,需要的朋友可以參考下
    2014-10-10
  • .Net 調(diào)用存儲過程取到return的返回值

    .Net 調(diào)用存儲過程取到return的返回值

    存儲過程只能返回 int 類型,如果返回一個字符串 ,將會報類型轉(zhuǎn)化錯誤,下面以示例介紹下如何取到return的值,需要的朋友可以參考下
    2014-08-08
  • ASP.NET C#生成下拉列表樹實現(xiàn)代碼

    ASP.NET C#生成下拉列表樹實現(xiàn)代碼

    下拉列表樹很方便且時尚的一個導(dǎo)航,貌似很多的朋友都想實現(xiàn)這樣一個列表樹,本文將滿足你們的設(shè)想,通過本文你們可以學(xué)到如何使用c#生成下拉列表樹,感興趣的你可不要錯過了啊
    2013-02-02
  • ASP.NET數(shù)據(jù)綁定之DataList控件

    ASP.NET數(shù)據(jù)綁定之DataList控件

    這篇文章主要為大家介紹了ASP.NET數(shù)據(jù)綁定中的DataList控件,DataList控件以表的形式呈現(xiàn)數(shù)據(jù),通過該控件,您可以使用不同的布局來顯示數(shù)據(jù)記錄,對DataList控件感興趣的小伙伴們可以參考一下
    2016-01-01
  • ASP.NET Core 3.0輕量級角色API控制授權(quán)庫

    ASP.NET Core 3.0輕量級角色API控制授權(quán)庫

    這篇文章介紹了ASP.NET Core 3.0輕量級角色API控制授權(quán)庫,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • ASP.NET Core中如何實現(xiàn)重定向詳解

    ASP.NET Core中如何實現(xiàn)重定向詳解

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何實現(xiàn)重定向的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 用Html5與Asp.net MVC上傳多個文件的實現(xiàn)代碼

    用Html5與Asp.net MVC上傳多個文件的實現(xiàn)代碼

    Html 5 的有一些File API,對Form表單增強的特性,讓我們輕松支持多文件上傳,看下面的Html片斷代碼
    2012-08-08
  • .NET 中的裝箱與拆箱實現(xiàn)過程

    .NET 中的裝箱與拆箱實現(xiàn)過程

    本文分別介紹裝箱(boxing)與拆箱(unboxing)的實現(xiàn)過程,感興趣的朋友可以了解下
    2013-01-01
  • ASP.NET DataTable去掉重復(fù)行的2種方法

    ASP.NET DataTable去掉重復(fù)行的2種方法

    這篇文章主要介紹了ASP.NET DataTable去掉重復(fù)行的2種方法,本文直接給出去重代碼,需要的朋友可以參考下
    2015-02-02

最新評論

纳雍县| 自治县| 蒙城县| 贵定县| 柳河县| 平陆县| 五寨县| 策勒县| 湟源县| 越西县| 黄浦区| 沁阳市| 壶关县| 桃园县| 淮阳县| 屏东市| 巴里| 新乐市| 甘泉县| 鄱阳县| 乌拉特前旗| 措勤县| 永城市| 青铜峡市| 甘泉县| 阿拉善左旗| 百色市| 丰镇市| 新安县| 华池县| 鸡泽县| 桦南县| 保靖县| 乌苏市| 和平区| 抚顺县| 扬州市| 微山县| 绥阳县| 台山市| 绥江县|