我在實用程序類中創建實用程序方法GetServiceTicketNumber()
,因爲該方法將經常使用,我不想每次都實例化,因此我製作了方法& _ticket靜態。C#實用功能靜態方法/靜態類/單身模式
UtilityManager
也包含其他幾種方法。
我的問題是:
1)這是實現功能的正確方法嗎?
2)是否讓UtilityManager
也是一個靜態類/不是?,它有什麼不同?
3)以下代碼(用於TicketProvider功能)是否以單例模式編寫? (考慮到大部分的單例類的實例同一類UtilityManager
。)
其它信息:類稱爲Asp.Net應用
public sealed class UtilityManager
{
public static readonly TicketProvider _ticket = new TicketProvider();
public static int GetServiceTicketNumber()
{
return _ticket.GetTicket();
}
}
感謝您的回覆,有什麼好處在構造函數中提供的初始化比這段代碼「public static readonly TicketProvider _ticket = new TicketProvider();」 – user758405 2011-05-21 22:58:22
靜態字段在首次使用時被初始化。另一方面,靜態構造函數將確保只要類本身以任何形式訪問,字段就會被初始化。所以靜態構造函數將確保您的字段按照您想要的順序一次全部初始化。其實這裏有點個人喜好。 – 2011-05-21 23:02:13
如何決定是否將實用類作爲實例/靜態對待? – user758405 2011-05-21 23:19:19