![]() |
Модель MVC и пакеты AS3
Здравствуйте.
Хочу спросить, как лучше распределять классы по пакетам при использовании MVC. Я вижу 2 варианта 1) Создаю пакет, относящийся к какой-либо сущности моей системы (например, ScreenKeyboard или InputField) и в этот пакет размещаю контроллер, вьюшку и модель для этой сущности. 2) Создаю пакеты Controllers, Views и Models. Ну и в эти пакеты помещаю все контроллеры, вьюшки и модели соответственно. Можно ли сказать, что какой-то из этих вариантов правильнее? Может быть, есть третий вариант, про который я не написал? Или вообще надо смотреть по ситуации и какого-то решения в общем виде не существует? |
По моему, кому как удобнее. Если вы работаете один, разумеется. Если так, то организация пакетов - ваше личное дело - делайте так, чтобы потом легко было разобраться, что к чему. Лично я использую преимущественно второй вариант
|
Согласен. Тоже пользуюсь вторым, даже если сущность — вполне самостоятельная триада MVC.
Тут есть еще момент, связанный с именованием. Если мы распихиваем каждую триаду в свой пакет, то по логике вещей должны называть их domen.projects.blablabla.screenKeyboard.View и т.п. Таким образом при сборке, где-нибудь в основном Вью у нас будет пять-десять классов с именем View — как-то не фонтан. Гораздо приятней выглядит именование domen.projects.blablabla.views.ScreenKeyboardView. Если же совмещать, то масло масляное: domen.projects.blablabla.screenKeyboard.ScreenKeyboardView Ну это так.. один из доводов. Если сущности реюзабельные, и вы надеетесь использовать их в других проектах, то наверно есть смысл в первом подходе. |
Цитата:
|
Использую первый вариант, но классы не называю просто View.
Структура примерно такая: Код AS3:
|
Да. Тут как раз вскрывается парадокс MVC.
С одной стороны, триада MVC какой-либо сущности с точки зрения ООП составляет вполне самостоятельный Объект, со своей четко абстрагированной ответственностью, инкапсуляцией и т.д. С другой стороны парадокс: основная парадигма самого MVC состоит как раз в независимости частей друг от друга, в отсутствии жесткой связанности, возможности замены вьюшек и контроллеров. Что так же полностью соответствует ООП, но делает требование складывать всю триаду в один пакет необязательным. Art_133, а в пакете Main есть еще что-то кроме пакета mvc? И зачем нужны подпакеты m, v и с — в них более одного класса? Если бы классы ControllerMain, ViewMain и ModelMain лежали в пакете mvcMain, это вызвало бы затруднения? Как по мне, такая структура дважды избыточна. |
1. В пакете Main есть что-то кроме mvc. Другие компоненты.
2. В подпакетах m v с может быть несколько классов. |
| Часовой пояс GMT +4, время: 22:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.