1. 程式人生 > >創建型設計模式之單例設計模式

創建型設計模式之單例設計模式

訪問 linq object .text static 解決 bsp 管理 如果

概念解釋:確保一個類只有一個實例,並提供一個全局訪問點。

應用場景
1.多線程的線程池,方便控制及節約資源。
2.windows電腦的任務管理器就是,不信你試試。
3.windows電腦的回收站也是。
4.數據庫的連接池設計,一般也采用單例設計模式,數據庫連接是一種數據庫資源。在數據庫軟件系統中
使用數據庫連接池,可以節省打開或關閉數據庫連接引起的效率損耗,用單例模式維護,就可以大大降低這種損耗。
5.應用程序的日誌應用,由於共享的日誌文件一直處於打開狀態,只能有一個實例去操作,否則內容不好追加。

為了便於理解代碼示例如下:

using System;
using System.Collections.Generic;
using System.Linq; using System.Text; using System.Threading.Tasks; namespace SingleTon { public sealed class Singleton { static Singleton instance = null; private static readonly object padlock = new object(); private Singleton() { } public static
Singleton Instance { get { if (instance == null) { lock(padlock)//如果考慮多線程,加鎖是很好的解決方案 { if(instance == null) { instance = new Singleton(); } } }
return instance; } } } }

創建型設計模式之單例設計模式