Должны ли сущности знать, как нарисовать себя? Я использовал этот подход: он прост и работает, но после изучения MVC-шаблонов я чувствую себя неловко об этом. Трудно изменить стиль искусства, когда вся логика дисплея похоронена в модели.Игры: Кто несет ответственность за отображение?
Можно было бы представить класс вида, который принимает уровень как аргумент и рисует его, но это будет означать, что он должен идентифицировать типы сущностей и ввести «switch» -statement, о котором я узнал, также плохо.
Где следует размещать код для рисования, способным к растяжению, легко меняющимся, чистым и сухим?
В инструкции переключателя нет ничего плохого. Что-то не так с оператором switch, который имеет ту же структуру в нескольких местах, что обычно подразумевает, что вы должны использовать виртуальную функцию. – MSN
Оператор switch - это просто переопределение goto. Выводы переключателей неплохие. Они просто приводят к гигантским беспорядкам с течением времени - например, они копируют/вставляют * магниты *. – sylvanaar
+1 - отличный вопрос. – Finglas