[沒有蠢問題] static 使用時機

static 靜態 是一個感覺很方便都不需要new 就能使用,但也常有人說減少使用static,就來聊聊

工具類方法

static 最常用到的地方是工具類方法 像是.net 提供的Math class (原始碼)
所以在看開發時,遇到一些功能會重複使用通常就會開一個xxxHelper 這通常就會是靜態方法

魔術字串

魔術字串就是 在程式碼寫字串拿來判斷像是
var isSuccess = result == "A00"

A00就是魔術字串這時候可以用 static readonly這樣的方式來取代掉還加上有強型別的效果(類似的原始碼)

public static readonly string Success = "A00";

壞處

  • 無法抽象化
  • 會強耦合程式
  • 不好做單元測試
  • Memory leaks(不會被GC)

參考連結

Should You Avoid Using Static?

Why static classes are evil!?

C# BAD PRACTICES: Learn how to make a good code by bad example – Part 3

如果內容有誤請多鞭策謝謝