@Jeen99

Как правильно использовать MVC паттерн в сетевой игре?

Создаю сетевую игру на C# для конкурса. Нужно использовать MVC подход. Интересующий процесс игры: подключаемся, получаем данные от сервера для создание объектов, отрисовываем объекты, обновляем данные, отрисовываем изменения.

Сейчас при получении данных, объекты создаются в контроллере и помещаются в модель(игровые объекты храню в словаре). В контроллере также вызываю событие, что изменили модель.

Появились сомнения на счет правильности реализации MVC. Может стоит добавить метод для модели(сейчас идет прямое обращение к словарю) на добавление объектов, в этом методе также вызывать событие на обновление модели. И где тогда хранить логику с определением типа объекта при получении данных от сервера? Или вообще не стоит заморачиваться над данной темой и оставить все как есть?

Псевдокод
Модель
{
    Словарь<ИгровойОбъект> объекты;
    Событие изменение;
}
Контроллер
{
    ОбработчикСообщенийотСервера(Сообщение сообщение)
    {
         Если(сообщение.тип== Объект1)
         {
             модель.объекты[сообщение.ID] = создатьОбъект1(сообщение как СостояниеОбъект1);
             модель.Изменение();
          }
    }

    Объект1 создатьОбъект1(СостояниеОбъект1 состояние)
    {
          Объект1  объект = new Объект1();
          объект.УстановитьСостояние(состояние);
          вернуть объект;
     }
}
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
И где тогда хранить логику с определением типа объекта

В классе реализующем Factory/Builder шаблон
Объект1 создатьОбъект1(СостояниеОбъект1 состояние)

вот таких методов в контроллере точно быть не должно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы