Обращение к настройкам системы из домменых сервисов
От: Аноним  
Дата: 03.08.11 06:45
Оценка:
Как правильно обращаться к глобальным настройкам системы из сервисов домена.
Сейчас делаем так:


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;
    }
}
Re: Обращение к настройкам системы из домменых сервисов
От: __kot2  
Дата: 03.08.11 07:46
Оценка:
Здравствуйте, Аноним, Вы писали:
А>
А>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
Re: Обращение к настройкам системы из домменых сервисов
От: Аноним  
Дата: 03.08.11 08:18
Оценка:
Забыл добавить настройки могут читаться из разных источников
Re: Обращение к настройкам системы из домменых сервисов
От: Aviator  
Дата: 03.08.11 08:50
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как правильно обращаться к глобальным настройкам системы из сервисов домена.

А>Сейчас делаем так:


А>
А>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;
А>    }
А>}
А>

А почему класс с настройками нельзя передать в службу как параметр конструктора? .
Re[2]: Обращение к настройкам системы из домменых сервисов
От: __kot2  
Дата: 03.08.11 15:03
Оценка: -1
Здравствуйте, Аноним, Вы писали:
А>Забыл добавить настройки могут читаться из разных источников
настройки это обычно такая структурка, которая заполняется при старте приложения некоей функцией чтения настроек, потом эта структурка или ее части передаются в момент инициализации тем, кому надо. в случае изменения настроек производится уничтожение-создание заново этих классов, хотя самый простой способ, который тоже иногда применяют — перезапуск приложения.
бывают что настройки увесистые, типа как в фотошопе. делайте тогда синглтон доступа к ним и всего делов. никаких интерфейсов, никаких implов. pimpl по моему мнению вообще нужен исключительно для оптимизации времени компиляций и имеет смысл только в С++
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.