1、sealed 修飾符
概念:
C#提出了一個密封類(sealed class)的概念,幫助開發人員來解決這一問題。 密封類在聲明中使用sealed 修飾符,這樣就可以防止該類被其它類繼承。如果試圖將一個密封類作為其它類的基類,C#將提示出錯。理所當然,密封類不能同時又是抽象類,因為抽象總是希望被繼承的。 sealed(C# 參考) sealed 修飾符可以應用於類、實例方法和屬性。密封類不能被繼承。密封方法會重寫基類中的方法,但其本身不能在任何派生類中進一步重寫。當應用於方法或屬性時,sealed 修飾符必須始終與 override(C# 參考) [ http://msdn2.microsoft.com/zh-cn/library/ebca9ah3(VS.80).aspx ] 一起使用。
用途:
目前本人只在單例模式中運用過這個修飾符:
首先對單例模式進行個簡單的描述(本人的理解,有誤請指出):第1點要求:保證了一個類有且只能有一個實例。
這樣一來,我們就應想到,要想調用這個類裡面的非靜態方法時候,再也不能用我們熟悉的 Class c = new Class();來先實例化,再去點點點~
如下面這個例子,我們在Test方法裡寫了點東西,我們要想去調用這個方法,既然沒法正常的實例化,那麼就想個其他的辦法。也就是說這個類得給我們提供一個訪問它的全局訪問點。
這就是單例模式的第2點要求,如例子中的GetInstance();具體實現,代碼很簡單,相信大家都能看懂。
public sealed class IndexManager { #region 單例模式之餓漢模式 能保證了在整個應用程序運行周期只創建一次實例(GetInstance方法來獲得實例instance) private readonly static IndexManager instance = new IndexManager(); private IndexManager() { } /// <summary> /// 整個單例模式的全局訪問點 /// </summary> /// <returns></returns> public static IndexManager GetInstance() { return instance; } #endregion public void Test() {...} }
2、設計表的時候,Id設置為GUID類型比自增長類型 在數據插入的時候要來得速度快。
因為自增長還要在先去統計原有的數據量,再加上鎖,去更新。對於一些非關系型表的設計中,可以考慮用GUID類型的主鍵Id。
如:搜索模塊中的關鍵詞統計。
3、Quarzt簡介,第三方定時任務框架
tip:日積月累,小知識也能構建成一份不錯的談資。玩笑了,慢慢更新,日常能夠用到,又不是很容易引起大家注意的點,爭取都放到本文中。