Оцените дизайн приложения
От: Аноним  
Дата: 17.09.10 16:06
Оценка:
Оцените пожалуйста дизайн по идее не очень большого приложения, но с возможностью login, сохранения настроек приложения, работа с БД

Центральный класс Core, объект которого сделаем глобальным статическим

static class Program
    {
        static Core core = new Core();
        public static CVCore Core { get { return core; } }

        [STAThread]
        static void Main() {
            core.Init();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());

         }
}


Core является центральным классом, хранит настройки приложения, данные пользователя, создает и содержит сервисы, которые потом дергаются во всем приложении,
уведомляет об изменениях основных компонентов.

public class Core
    {
        MySettings settings;
        List<IService> service; // 
        String connectionString;
       

        public void Init() {
           // ...
        }

        public MySettings Settings {
            get { return settings; }
            set { 
                settings = value; 
                // event Settigns Changed    
            }
        }
        
    }



Попытался предствать себе как я буду работать с настройками. Например создам класс

class MySetting {
 public String Setting1 { get; set; }
 public String Setting2 { get; set; } 
 // ...
}


отдельный сервис для загрузки / сохранения настроек

class SettingsService {
  public MySettings Load() { .. }
  public void SaveSetting(MySettings sett) { .. }
}


Во время инициализации класса Core при помощи SettingService будут загружены насройки. Позже, когда пользователь будет менять настройки приложения через специальный диалог, при установке свойства Core.Settings подымится события, уведомляющее остальные компоненты программы, которые соответсвенно обновятся.

Как вам такой дизайн, слишком корявый?
Стоит ли таким образом использовать настройки и таким образом отделять данные от логики?
Спасибо за ответы




18.09.10 23:41: Перенесено модератором из '.NET' — TK
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.