|
|
|||||
Регистрация: Dec 2011
Сообщений: 70
|
Модель MVC и пакеты AS3
Здравствуйте.
Хочу спросить, как лучше распределять классы по пакетам при использовании MVC. Я вижу 2 варианта 1) Создаю пакет, относящийся к какой-либо сущности моей системы (например, ScreenKeyboard или InputField) и в этот пакет размещаю контроллер, вьюшку и модель для этой сущности. 2) Создаю пакеты Controllers, Views и Models. Ну и в эти пакеты помещаю все контроллеры, вьюшки и модели соответственно. Можно ли сказать, что какой-то из этих вариантов правильнее? Может быть, есть третий вариант, про который я не написал? Или вообще надо смотреть по ситуации и какого-то решения в общем виде не существует? |
|
|||||
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
По моему, кому как удобнее. Если вы работаете один, разумеется. Если так, то организация пакетов - ваше личное дело - делайте так, чтобы потом легко было разобраться, что к чему. Лично я использую преимущественно второй вариант
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Согласен. Тоже пользуюсь вторым, даже если сущность — вполне самостоятельная триада MVC.
Тут есть еще момент, связанный с именованием. Если мы распихиваем каждую триаду в свой пакет, то по логике вещей должны называть их domen.projects.blablabla.screenKeyboard.View и т.п. Таким образом при сборке, где-нибудь в основном Вью у нас будет пять-десять классов с именем View — как-то не фонтан. Гораздо приятней выглядит именование domen.projects.blablabla.views.ScreenKeyboardView. Если же совмещать, то масло масляное: domen.projects.blablabla.screenKeyboard.ScreenKeyboardView Ну это так.. один из доводов. Если сущности реюзабельные, и вы надеетесь использовать их в других проектах, то наверно есть смысл в первом подходе.
__________________
Reality.getBounds(this); |
|
|||||
Использую первый вариант, но классы не называю просто View.
Структура примерно такая: Удобно работать с отдельными модулями приложения. Все в одном месте. Ведь каждый комплнент mvc может содержать не только 3 класса. В папке с вью могут быть скины и другие визуальные модули, которые относятся к данному mvc компоненту.
__________________
http://artem-lobachenkov.ru/ |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Да. Тут как раз вскрывается парадокс MVC.
С одной стороны, триада MVC какой-либо сущности с точки зрения ООП составляет вполне самостоятельный Объект, со своей четко абстрагированной ответственностью, инкапсуляцией и т.д. С другой стороны парадокс: основная парадигма самого MVC состоит как раз в независимости частей друг от друга, в отсутствии жесткой связанности, возможности замены вьюшек и контроллеров. Что так же полностью соответствует ООП, но делает требование складывать всю триаду в один пакет необязательным. Art_133, а в пакете Main есть еще что-то кроме пакета mvc? И зачем нужны подпакеты m, v и с — в них более одного класса? Если бы классы ControllerMain, ViewMain и ModelMain лежали в пакете mvcMain, это вызвало бы затруднения? Как по мне, такая структура дважды избыточна.
__________________
Reality.getBounds(this); |
|
|||||
1. В пакете Main есть что-то кроме mvc. Другие компоненты.
2. В подпакетах m v с может быть несколько классов.
__________________
http://artem-lobachenkov.ru/ |
Часовой пояс GMT +4, время: 04:05. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|