首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 私有建構函式的用途:單例模式核心機制

     編輯:程式設計綜合問答

問題

類別將建構函式標記為 private,外部無法直接 new 實例,這有什麼特別用途?

核心答案:實作單例模式

私有建構函式配合靜態工廠方法,確保整個應用程式域中僅存在一個實例:

public sealed class Singleton {
    private static readonly Singleton _instance = new Singleton();
    private Singleton() { } // 私有建構函式

    public static Singleton Instance => _instance;

    public void DoSomething() { /* ... */ }
}

// 使用方式
Singleton.Instance.DoSomething();

其他常見場景

  • 靜態工廠類別:純靜態方法集合,不需實例化(如 Math、File)。
  • 建造者模式:建構函式私有,透過 Builder 類別逐步建構複雜物件。
  • 反序列化/ORM 專用:Entity Framework 等框架需無參私有建構函式建立代理物件。
  • 防止繼承:搭配 sealed 徹底封鎖繼承與實例化。

總結

私有建構函式最經典用途是單例模式,確保全域唯一實例;亦用於工廠、建造者等創建型模式,集中控制物件建構邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved