Sabitlerle dolu bir sınıf kullanan IMO, sabitler için iyidir. Ara sıra değişeceklerse, bunun yerine yapılandırmanızda ve ConfigurationManager sınıfında AppSettings kullanmanızı öneririm.
Aslında AppSettings veya benzerinden alınmış "sabitler" olduğunda, okumayı yapılandırma yöneticisinden saran bir "sabitler" sınıfına sahip olacağım. Söz konusu ayar değerini tüketmek isteyen herhangi bir yere Constants.SomeModule.Setting
doğrudan başvurmak yerine sahip olmak her zaman daha anlamlıdır ConfigurationManager.AppSettings["SomeModule/Setting"]
.
Bu kurulum için bonus puanlar, SomeModule
büyük olasılıkla Sabitler dosyasında yuvalanmış bir sınıf olacağından, Dependency Injection'ı SomeModule
doğrudan ona bağlı sınıflara enjekte etmek için kolayca kullanabilirsiniz . SomeModule
Üstüne bir arabirim bile çıkarabilir ve ardından ISomeModuleConfiguration
tüketen kodunuzda bir bağımlılık yaratabilirsiniz , bu daha sonra Sabitler dosyalarına bağımlılığı ayırmanıza ve hatta özellikle bu ayarlar AppSettings'den geliyorsa testi kolaylaştırmanıza olanak tanır ve ayarlar ortama özel olduğu için bunları yapılandırma dönüşümlerini kullanarak değiştirirsiniz.