|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||||||||||||||||||||||||||||||||||||||||
Service, DAO, Entity, BO . Again04.05.2013, 14:28. Показов 4721. Ответов 4
Метки нет (Все метки)
Ещё раз о том как разбить всё на эти сран... дурацкие уровни. Надеюсь в этот раз я хоть понял всех правильно. Взгляните пожалуйста и скажите всё ли так.
Итого моя мини архитектура для клиент-сервера (демонстрирую взаимодействие между уровнями на примере одной лишь сущности, но естественно что их много): 1)Entity которые есть в базе. Те такие объекты я могу получать из базы через jpa (хибернейт). Одна из них с названием подразделение:
3)BO объекты которые будут отправляться клиенту (кто-то ещё их называет View для пользователя) чтобы он ими мог пользоваться, из них грубо говоря "вырезано" то что клиенту знать не положено по устройству базы (на данной сущности правда это не очень наглядно так как здесь это почти та же entity):
Добавлено через 5 минут Кстати здесь же вопрос так как я не уверен что я поступил правильно когда в dao уровне просто выполняю операции типа merge/ remove/ persist, а на уровне сервиса отлавливаю исключения
0
|
|||||||||||||||||||||||||||||||||||||||||
| 04.05.2013, 14:28 | |
|
Ответы с готовыми решениями:
4
Spring слои Service, Controller, DAO. Бизнес-логика |
|
|
||
| 04.05.2013, 14:59 | ||
|
канонических архитектур больше 1, один из вариантов (попроще) я привёл в ссылке, люди старались по шагам всё раскладывали, объясняли и на тебе - не подходит, подавай в разы сложнее когда ещё и в простом плаваем
0
|
||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||
| 04.05.2013, 19:00 [ТС] | ||
|
mutagen, ок-ок, сейчас схожу по той ссылке ещё раз и ещё раз посмотрю на ту арихтектуру и на свою
![]() Добавлено через 1 час 46 минут С теми примерами от нетбинса у меня сложности потому что я смотрю что там есть и вижу что это мне нафиг не надо так как у меня клиент на swing и он должен как-то редактировать данные, а не сохранять хитрые состояния корзинок ![]() Добавлено через 1 час 7 минут Так, я перечитал нетбиновские уроки (честно-честно, все-все) и всё равно не увидел у себя ошибок. То что там фасады (не знаю почему выбрано именно это слово) + сервлетные куски то у меня уровень сервиса, пока правда без сессонности, вроде всё ок же: сервис ходит в дао, получает объекты, конвертирует их и отдаёт клиенту; клиент редактирует свои бизнес объекты, отдаёт их сервису, тот их конвертирует в сущности и общается с дао через эти сущности. В случае если клиент налажал и сунул null или некорректные данные уровень сервиса даст клиенту исключение Save/Delete exception ... вроде всё как и положено, чего опять не так ?
0
|
||
|
|
||
| 04.05.2013, 20:15 | ||
|
Если я правильно понял твою текущую архитектуру, то это просто сетевой интерфейс для БД при помощи ORM. Короче говоря отсутствует контроллер. Сервис используется вообще непонятно почему, обычно их задача совместить различные ОС и платформы через единый WS интерфейс. Тут же таких необходимостей я не наблюдаю. Вполне можно было бы обойтись и банальным Remote интерфейсом EJB. "Хитрые состояния корзинок" это бизнес логика, реализуй логику работы с клиентами и это будет контроллер "корзинок-клиентов". Сервисы можно и оставить, но намотать на них секьюрити сложнее чем на EJB.
0
|
||
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||||
| 04.05.2013, 22:07 [ТС] | ||||
Но контроллер у меня по сути является спринг, он предоставляет удалённый доступ клиента к этим сервисам.Это ... я же клиента не показывал, всё вышеперечисленное у меня серверное (ну мои BO и exception'ы будут продублированы у клиента что само собой, конвертеры и т.д это всё будет у сервера). Я сейчас без понятия как же этот spring security вкрутить чтобы клиент мог авторизироваться (разграничение ролей не надо, круто если будет, но вообще достаточно элементарного авторизовался / не авторизовался). Вы когда нибудь использовали spring security ? Может подскажите в какую сторону копать или же может есть какой-то вариант получше ? Просто у меня изначально цель использовать спринг (ну как цель, это требование такое изначальное), а если я полезу в ejb то нафиг мне тогда спринг если всё умеет ejb ... Добавлено через 8 минут Сходил ещё раз в гугл чтобы найти клиент-сервер на spring с jpa не рассчитанный на веб мордашку и ... и его нет! Да что же это такое, это какая-то тайная технология или что, я найду себе пример где кто-то более опытный написал клиент-сервер как в реальном энетпрайз мир или нет, ну хоть один маленький примерчик
0
|
||||
| 04.05.2013, 22:07 | |
|
Помогаю со студенческими работами здесь
5
A Windows service with the name MySQL already exists. Please uninstall this service correctly or choose a different name for the new service.
Олицетворение (impersonating) системных учетных записей (NETWORK SERVICE, LOCAL SERVICE и пр.) The Lotus Domino Server Service Terminated With Service-specific Error Сервер не заходит с никакой учётные запись кроме Administrator (The User Profile Service service failed) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
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 на бесплатный. . .
|