|
1 / 1 / 1
Регистрация: 26.09.2015
Сообщений: 40
|
|||||||||||
Как реализовать Domain-сущность?17.06.2016, 23:07. Показов 676. Ответов 8
Метки нет (Все метки)
Доброго времени суток, помогите, пожалуйста, разобраться в следующем вопросе.
Вопрос такой: как правильно реализовать Domain-сущность, которую будет вызывать сервлет? Какие являются best practicies? Какое мнение у Мартина Фаулера? Поясню на простом примере: Допустим имеем EJB-приложение, классы StudentDAO и GroupDAO (студенты и группы, к которым они относятся). А в сервлете примерно такой код:
Будет ли правильно написать примерно так:
0
|
|||||||||||
| 17.06.2016, 23:07 | |
|
Ответы с готовыми решениями:
8
Hibernate как сохранить сущность Как реализовать: @$fp = fsockopen("domain.ru", 80, $errno, $errstr, 3); The variable is not bound in this clause и Basic domain becomes reference domain |
| 19.06.2016, 18:23 | |
|
Не по теме: Почему final?
0
|
|
|
1 / 1 / 1
Регистрация: 26.09.2015
Сообщений: 40
|
|
| 19.06.2016, 18:30 [ТС] | |
|
Потому что эта переменная не будет меняться.
По факту я ее записываю в объект request как аттрибут и перенаправляю запрос в jsp. Я так понимаю хоть в сервлете всего 2 вызова метода из условно "бизнес-логики", но все равно это плохо. Потому что DAO скорее относится к слою Persistance Layer (или прослойка между Domain и Persistance). А слоя Domain у меня как бы и нету http://martinfowler.com/bliki/... ering.html . Вот вопрос - как мне сделать Domain-слой\сущность и обращаться к ней из сервлета?
1
|
|
| 19.06.2016, 22:22 | |
|
Не по теме: wikkk, я не сильно в этом рублю, пардоньте. Как я понял, каждый раз будет создаваться новый экземпляр этого EJB, тогда всё норм. (насчёт final)
0
|
|
|
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
|
|
| 19.06.2016, 22:30 | |
|
Так да, создаешь например UniversityService или UniversityManager какой-нибудь, который инжектишь через интерфейс. И он уже будет лезть в слой DB. Необязательно что будет тупо делегация методов из dao в service, ты можешь получать данные и потом их как-то обрабатывать.
0
|
|
|
1 / 1 / 1
Регистрация: 26.09.2015
Сообщений: 40
|
|
| 19.06.2016, 22:35 [ТС] | |
|
MLPMan, Эти два бина помечены у меня как Stateless - соотв-но контейнер EJB создаст пул этих объектов и будет сам управлять их жизненным циклом.
Вот вводная статейка по EJB http://j4sq.blogspot.ru/2011/10/ejb-1.html Или лучше начать с проcтых обучалок по EJB. Добавлено через 4 минуты ninjacut, получается в этом UniversityDomainService будут в том числе такие методы как getAllGroups и getStudentsByFilter(...)? А это не предпосылка к антипаттерну God-класс?
0
|
|
|
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
|
|
| 19.06.2016, 22:49 | |
|
wikkk, да, если там не несколько методов то лучше разделить на отдельные классы.
1
|
|
| 19.06.2016, 23:28 | |
|
Не по теме: wikkk, пасиб, позанимаюсь на днях, если опять лень не одолеет.
0
|
|
|
1 / 1 / 1
Регистрация: 26.09.2015
Сообщений: 40
|
|
| 20.06.2016, 21:13 [ТС] | |
|
ninjacut, А какое лучше придумать название? BookDomainAccess, GenreDomainAccess?
Абстрактно как-то, мне кажется, если бы встала более конкретная задача, то соответствующий объект сам пришёл "на ум"... MLPMan, часто советуют как что-то прочитал в книге - сразу накидать примерчик\нескл. строчек кода - так лучше запоминается. Или пилить свой проект на гитхабе и туда дополнять. Заодно к резюме будет. Ну тут смотря какую задачу выбрать, и чтоб интерес был. Лень от разного может быть - может быть. Если по прошествии времени снова тянет на "это дело", то возможно причина в: перетрудился, неэффективно обучался, много сил уходит на другие дела...
0
|
|
| 20.06.2016, 21:13 | |
|
Помогаю со студенческими работами здесь
9
domain.com и www.domain.com в разных папках Пролог, списки. Ошибка "Basic domain becomes reference domain: integer" Сайт доступен по www.domain.ru/index.php, но недоступен по www.domain.ru Адрес вида domain/folder/etc вместо domain/?folder=etc Ошибки Pow: Domain error и Log10: Domain error Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|