Feature flags是我經常使用的東西,但直到我正在開發的這個新項目開始之前,我從未真正考慮過它。C#中功能標誌的實現
我通常有很多在我的web.config文件密鑰的實現,但這種方法有兩個主要缺點:
- 當改變內部的web.config值的應用程序池重新啓動 - 這可能是一個在沉重的接入環境
- 有太多的按鍵在web.config文件的問題是混亂的,並能得到相當混亂
什麼是克服這些問題的最佳途徑?
Feature flags是我經常使用的東西,但直到我正在開發的這個新項目開始之前,我從未真正考慮過它。C#中功能標誌的實現
我通常有很多在我的web.config文件密鑰的實現,但這種方法有兩個主要缺點:
什麼是克服這些問題的最佳途徑?
我會建議使用IoC來抽象出您的功能標誌的實現 - 您需要訪問的所有代碼都是沿着IFeatures.IsEnabled("FeatureA")
的行。一旦你做到了這一點,你可以選擇最明智的執行 - 下面的一些建議:
作爲進一步的提示,嘗試使用枚舉而不是魔術字符串作爲標誌。當您想要清理它們或更改名稱時,更容易找到它們的使用位置,並且Intellisense會提醒用戶已定義了哪些標誌,從而減少創建重複項的機會。 –
你可能有多少個標記? –
我通常只有幾個。少於10個。但通過良好的實施,我可以看到它越來越多地幫助應用程序管理。 – tucaz