Как правильно обращаться к глобальным настройкам системы из сервисов домена.
Сейчас делаем так:
interface ISettings
{
int SomeSett{get;set;}
}
class SettingsImpl:Isettings
{
public int SomeSett{get;set;}
}
static class Settings
{
public static ISettings Instance{get;set;}
public static int SomeSett{get {return Instance.SomeSett;}}
}
при старте приложения инжектим реализацию (SettingsImpl) в статический класс.
используем так:
class SomeDomainService
{
void DoSm()
{
var v=Settings.SomeSett;
}
}
Здравствуйте, Аноним, Вы писали:
А>А>interface ISettings
А>{
А> int SomeSett{get;set;}
А>}
А>class SettingsImpl:Isettings
А>{
А> public int SomeSett{get;set;}
А>}
А>static class Settings
А>{
А> public static ISettings Instance{get;set;}
А> public static int SomeSett{get {return Instance.SomeSett;}}
А>}
А>
для полной серьезности нужно еще три раза все обернуть — предлагаю сделать еще ISettingsAbstractFactory, ISettingsFactory, ISettingsFactoryImpl и с параметрами тоже что-то такое сделать — ISettingsParameterAbstractFactoryImpl
Здравствуйте, Аноним, Вы писали:
А>Как правильно обращаться к глобальным настройкам системы из сервисов домена.
А>Сейчас делаем так:
А>А>interface ISettings
А>{
А> int SomeSett{get;set;}
А>}
А>class SettingsImpl:Isettings
А>{
А> public int SomeSett{get;set;}
А>}
А>static class Settings
А>{
А> public static ISettings Instance{get;set;}
А> public static int SomeSett{get {return Instance.SomeSett;}}
А>}
А>
А>при старте приложения инжектим реализацию (SettingsImpl) в статический класс.
А>используем так:
А>А>class SomeDomainService
А>{
А> void DoSm()
А> {
А> var v=Settings.SomeSett;
А> }
А>}
А>
А почему класс с настройками нельзя передать в службу как параметр конструктора?
![](/Forum/Images/xz.gif)
.