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?
C# BAD PRACTICES: Learn how to make a good code by bad example – Part 3
如果內容有誤請多鞭策謝謝