Показать сообщение отдельно
Старый 28.02.2018, 12:40
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 59  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Есть два столпа на которых держится этот форум – это MVC и in4core.

А ещё проходят года, а dimarik'а читать всё так же увлекательно. Вспомнилось:
Цитата:
- Чем отличается хороший разработчик от чертовски хорошего разработчика?
- Хороший разработчик может объяснить простые вещи на пальцах, а чертовски хороший сделать то же самое, но не быть при этом мудаком
Цитата:
Такая вот «ТТУМ» («Толстая, тупая, уродливая модель»; Fat Stupid Ugly Model). Но это больше шутка. А по-другому на классике не сделаешь.
Давайте подкину дровишек:
Всё толстое – плохо. И толстые модели – плохо, и толстые контроллеры – плохо, и толстые стриптизёрши – тоже плохо.
В хорошем коде из контроллеров код мигрирует в модель, а из моделей – уже "куда-нибудь". Чаще всего в то, что общим словом называют сервисы.

Таскать паттерны в общем случае это тоже плохо. Паттерны (в том числе GoF'ы, как бы я не любил несколько из них) были придуманы чтобы решать какую-то проблему, которая появляется достаточно часто и достаточно однотипна, чтобы придумать какое-нибудь решение, чтобы оно не раздражало почти всех. Новые языки/фреймворки появляются для того, чтобы попытаться избавиться от старых проблем и постараться не привнести новых. Таскать решения проблем без самих проблем просто по "привычке" не стоит.
Это, к слову, относится и к MVC. В "классическом" MVC вьюха это эдакая чистая функция от модели (моделей). На деле же, в игрульках, вьюха может иметь достаточно обширное внутреннее состояние, ровно до тех пор пока это состояние никак не влияет на общее состояние приложения.

Цитата:
Приложение может существовать без вью. Они просто заменяются на mock'и.
Как и модель может быть замокана/застаблена/зачтоугодно.
Игра без визуального представления вообще (белый экран) бесполезна.
CLI App's вполне себе живёт без вьюх (пайпит потоки в stdin/out/err).
Вся идея в том, что всё вместе формирует приложение, эти блоки (M/V/C/VM/whatever) по отдельности – самодостаточные элементы (которые просто тестировать – и в этом, в общем-то, добрая половина всего смысла, но о тестах ты только разок упомянул) бесполезны.

Цитата:
Какие данные и в каком виде нужно отсылать серверу должна знать модель.
Да
Цитата:
Для модели сервер есть самая обычная вью. Как это ни странно.
Достаточно странно.
Сериализатор (который совсем необязательно работает / дёргается с помощью контроллера) читает модель как вью, но вот пишет в неё как контроллер. Или как часть модели. Вью никогда не может просто взять, и поменять все данные внутри модели "сходу". Кто-то другой может.

Цитата:
*Обычно я делаю модель на основании технического задания (ТЗ).* ОЛОЛО - даже Ubisoft себе такого не позволят сказать ОБЫЧНО! Ты что создал тонны игр которые весь мир юзает? Чтобы твое обычно было парадигмой? Мало ли что ты делаешь обычно, как бы грубо это не звучало - !
Так рад видеть тебя снова