![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2010
Сообщений: 11
|
Доброе время суток!
Разбираться с шаблоном проектирования MVC стал недавно. Обнаружил, что программирую как старая бабулька. В связи с этим решил переписать часть своего проекта с использованием MVC шаблона. Примерная постановка задачи (так как оно есть сейчас): 1. Есть набор различных по своей сущности объектов сцены приложения (надписи, картинки, внешние SWF и прочее, прочее...). 2. Эти объекты имеют как различные свойства и методы так и одинаковые. 3. Взаимодействие с пользователем примерно во всех объектах одинаковое (перемещение, поворот, реакция на клавиши и их сочетания) 4. Каждый из объектов является экземпляром отдельного класса и включает в себя методы, свойства, слушатели и т.д. и т.п. Вопрос: Как правильно построить проект с учётом MVC? Варианты которые я на данный момент рассматриваю как возможные: 1. Один Контроллер, Одна модель, Много вьюшек (но тогда модель будет для каждого отдельного объекта сцены хранить имена ненужных свойств) 2. Один контроллер, одна вьюшка, много моделей (но тогда вьюшка получится очень сложной для отображения объекта в зависимости от модели) 3. Один контроллер, много моделей, много вьюшек (этот вариант не лучше чем тот который есть сейчас, просто несколько упростит код каждого класса). Пожалуйста подскажите как лучше поступить. Если не сложно, то с обоснованием! Заранее благодарен! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
4. Много контроллеров, моделей и вьюшек.
|
|
|||||
|
Регистрация: Mar 2010
Сообщений: 11
|
На мой взгляд это не очень хороший подход, т.к. в большинстве случаев каждый контроллер будет писаться копи-пастом. Особенностей обработки объектов сцены не так уж и много их можно решить расширением некоторого базового класса контроллера. Исходя из этого контроллер будет один. (это мой взгляд на вещи, если есть аргументы в поддержку размножения классов контроллеров, прошу высказываться)
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Регистрация: Mar 2010
Сообщений: 11
|
В данном случае контроллер будет заниматься прослушиванием вьюшки и записью данных в модель.
|
|
|||||
|
Копипаст кода неплохо лечится наследованием. Ну, например ItemShopController extends AbstractShopController.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Конкретной вьюшки и конкретной модели. Код вовсе не одинаков будет.
|
|
|||||
|
Описание задачи слишком уж обще. Так можно описать любую программу.
5. Одна вьюшка (многовложенная), один контроллер (расширяющий массу предков), одна модель ( здесь не класс, а совокупность классов каждый из которых занимается решением опр. отдельной задачи). |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 11
|
Всем спасибо! Выводы сделаны, буду реализовывать.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|