![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Barvetal |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 181 Регистрация: 31.10.2005 Репутация: 5 Всего: 5 |
Всем привет!
Должны ли слои бизнес-логики и представления быть в разных пакетах? Например, пускай есть новостийный сайт с лентой новостей. Есть класс бизнес-логики NewsList, который представляет собой бизнес-логику, и данные берет из persistence-слоя, который располагается в пакете net.mycompany.persistence. Есть также класс, ответственный за вывод ленты новостей на странице: NewsListPage. По хорошему стилю проектирования советуют разделять между собой слои представления и бизнес-логики. Означает ли это, что мне нужно поместить классы NewsList и NewsListPage в разные пакеты (например, net.mycompany.newslist.business-logic и net.mycompany.newslist.view). Если да, то как мне следует называть эти разные пакеты (есть ли стандарты именования)? Всем заранее спасибо! |
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Barvetal, это очень хорошо, что ты отделил бизнес-логику от персистенции. Из каких соображений ты это сделал? Правильно, чтобы обеспечить независимость от среды хранения, чтобы разнести в разные стороны датабазную логику и прикладную логику, чтобы легче было все это модифицировать, расширять, отлаживать и вообще сопровождать.
Ну так точно из этих же соображений и презентацию намного удобнее держать в отдельном пакете. Что же касается именования, я бы назвал его net.mycompany.web, но это уже вопрос личных предпочтений. -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
| Barvetal |
|
|||
|
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 181 Регистрация: 31.10.2005 Репутация: 5 Всего: 5 |
Спасибо! Наверное, назову пакет для веб как net.mycompany.newslist.web, а пакет для бизнес-логики как просто net.mycompany.newslist. Как считаете? |
|||
|
||||
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Да нормально вполне. И вообще, не надо относиться к стуктуре пакетов как к чему-то высеченному в камне. Пока проект используется для себя относительно малым числом людей, структуру можно и дОлжно (во всяком случае полезно) периодически корректировать так, чтобы она отражала логическую группировку классов - слово рефакторинг, я думаю, слышал. Другое дело стандартные (хотя бы де-факто) библиотеки и API: там изменения структуры крайне нежелательны, ибо могут стоить кучи навсегда отвернувшихся юзеров. Поэтому-то разработчики открытых сырцов так долго тянут с выпуском версии 1.0: это очень ответственный момент в жизни софта. Если на стадии альфы к изменениям могут отнестись с пониманием, то с официальным релизом ты фактически сжигаешь за собой мосты. Тут надо семь раз подумать, прежде чем отрезать |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |