Создаю сетевую игру на C# для конкурса. Нужно использовать MVC подход. Интересующий процесс игры: подключаемся, получаем данные от сервера для создание объектов, отрисовываем объекты, обновляем данные, отрисовываем изменения.
Сейчас при получении данных, объекты создаются в контроллере и помещаются в модель(игровые объекты храню в словаре). В контроллере также вызываю событие, что изменили модель.
Появились сомнения на счет правильности реализации MVC. Может стоит добавить метод для модели(сейчас идет прямое обращение к словарю) на добавление объектов, в этом методе также вызывать событие на обновление модели. И где тогда хранить логику с определением типа объекта при получении данных от сервера? Или вообще не стоит заморачиваться над данной темой и оставить все как есть?
Псевдокод
Модель
{
Словарь<ИгровойОбъект> объекты;
Событие изменение;
}
Контроллер
{
ОбработчикСообщенийотСервера(Сообщение сообщение)
{
Если(сообщение.тип== Объект1)
{
модель.объекты[сообщение.ID] = создатьОбъект1(сообщение как СостояниеОбъект1);
модель.Изменение();
}
}
Объект1 создатьОбъект1(СостояниеОбъект1 состояние)
{
Объект1 объект = new Объект1();
объект.УстановитьСостояние(состояние);
вернуть объект;
}
}