powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Архитектура DAO
18 сообщений из 43, страница 2 из 2
Архитектура DAO
    #39382208
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПисать логику на Map совсем грустно.
Все зависит от задачи. Построить на экране табличку на мапе - 1 цикл.
Сделать ее динамической по настройкам - плевое дело.
Добавить поле - даже в код лезть не надо.
и т.п.

Все тоже самое на геттерах-сеттерах - чистой воды чайна-код.
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382211
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевBlazkowiczПисать логику на Map совсем грустно.
Все зависит от задачи. Построить на экране табличку на мапе - 1 цикл.
Сделать ее динамической по настройкам - плевое дело.
Добавить поле - даже в код лезть не надо.
и т.п.

Все тоже самое на геттерах-сеттерах - чистой воды чайна-код.

А потом бац и надо поменять customerId(long) на customerUUID(String) :)
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382229
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никА вам хватает бесплатной версии или вы использовали профешнл?
Пользовал QueryDSL, там где лицензии jOOQ не хватало. jOOQ круче. Но, в целом, не моё. Просто был legacy проект с корявым дизайном БД, там ORM был совсем не к месту.
Для нормальных ERP систем Hibernate всё ещё рулит.
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382231
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник+100500. Уж лучше ActiveRecord в таком случае. Зачем нужен строготипизированный язык если всю логику писать на мапах?
Зависит от подхода, но у меня такая же мысль была. Проще взять любой язык без строгой типизации.
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382234
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевВсе зависит от задачи. Построить на экране табличку на мапе - 1 цикл.
Сделать ее динамической по настройкам - плевое дело.
Добавить поле - даже в код лезть не надо.
и т.п.

Все тоже самое на геттерах-сеттерах - чистой воды чайна-код.
Это всё замечательно до тех пор пока нам не понадобится в эти таблички интегрировать бизнес-логику.
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382235
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никА потом бац и надо поменять customerId(long) на customerUUID(String) :)
Так в том то и дело, что в описании и будет
Что-то типа
было
Код: javascript
1.
{"columns":[{"columnName":'Код клиента',"fieldName":'customerId'}...]}


стало
Код: javascript
1.
{"columns":[{"columnName":'Код клиента',"fieldName":'customerUUID'}...]}


и клиентская часть рисующая табличку отображает другой столбец.

В случае, если надо менять запрос, конечно все сложнее. Но в случае геттеров-сеттеров надо гарантированно перепахивать больше кода.

Собственно геттеры-сеттеры в любом случае скрывают способ хранения property. Хранить их в map немного увеличивает накладные ресурсу, но добавляет гибкости. И избавляет от кучи кода (Даже если он весь в @)
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382236
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЭто всё замечательно до тех пор пока нам не понадобится в эти таблички интегрировать бизнес-логику.
Надо - геттеры и сеттеры к твоим услугам, тыж поди все одно поля public не делаешь? :)
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382267
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньеви клиентская часть рисующая табличку отображает другой столбец.

И чем это отличается от аннотаций? Кроме того что существенно увеличивает трудности с relations и всякими join? Далее проблемы со всякими лэйзи-лоадинг и кешированием... Если не нравятся геттеры - то есть Lombok в конце концов
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382276
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевНадо - геттеры и сеттеры к твоим услугам, тыж поди все одно поля public не делаешь? :)
Я делаю методы, которые работают с полями, а не геттерами-сеттерами. Это называется ООП.
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382289
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЯ делаю методы, которые работают с полями, а не геттерами-сеттерами. Это называется ООП.
Возможность методов работать с другими методами - тоже часть ООП. :)
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382298
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никИ чем это отличается от аннотаций? Кроме того что существенно увеличивает трудности с relations и всякими join?
Этот подход (хранить в map, а не в полях класса) не создает никаких трудностей ни с join ни с другими relations. Ибо можно скормить хоть тому же Hibernate если очень захочется (ему собственно по барабану). Или самому написать запрос любой сложности.
А аннотации требуют а- изменения кода, а так внешний вид формы можно хранить хоть в табличке и запоминать, какой пользователь какие поля скрыл, какие растянул, в каком порядке переставил и т.п.
Более того, в отличии от аннотаций его не так сложно отправить на клиента, если там скажем javascript.

Если же говорить про подход делать мапирование нескольких сущностей БД в одну POJO, то есть как плюсы, так и минусы.
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382299
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевBlazkowiczЯ делаю методы, которые работают с полями, а не геттерами-сеттерами. Это называется ООП.
Возможность методов работать с другими методами - тоже часть ООП. :)
Ну, если у вас большинство акцессоров приватные, тогда ладно. В принципе, если знать о проблеме, то можно её избежать. Тогда единственным минусом остаётся слегка уродливый код на акцессорах. Методы, которые работают с полями, обычно, более лаконичны.
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382341
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczМетоды, которые работают с полями, обычно, более лаконичны.
Так я и писал - зависит от задачи.
Если надо обрабатывать сразу группу полей, то проще их в map загнать. (будет как раз лакониченее)
Если по одному - каждое в отдельное поле.
И то и другое - getter и map.
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382499
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slavik_mscт.е. правильно ли я понимаю:
у меня три класса:
что вы так в классы упёрлись?
Если у вас на клиенте будет большая простыня сводных данных, то нафиг вам эти 3 класса?
Без связки БД-->БЛ-->ГУИ нет смысла говорить о количестве классов.
- делайте ОДНУ страничку VIEW-ГУИ. И под табличку в ГУИ(возможно JSON) будете делать свои классы.
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382541
slavik_msc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123что вы так в классы упёрлись?
Если у вас на клиенте будет большая простыня сводных данных, то нафиг вам эти 3 класса?
Без связки БД-->БЛ-->ГУИ нет смысла говорить о количестве классов.
- делайте ОДНУ страничку VIEW-ГУИ. И под табличку в ГУИ(возможно JSON) будете делать свои классы.

Уперся потому что хочу сделать нормально.
Простыня не такая уж и длинная.
Вот и пытаюсь связать БД->БЛ->ГУИ. Стараюсь сделать слоенный пирог, в основе которого Spring MVC, сейчас использую spring-jdbc, позже когда всё заработает добавлю ORM.
Еще позже добавлю Spring Security.
А там может еще чего то, поэтому стараюсь делать правильно, чтобы можно было масштабировать.
...
Рейтинг: 0 / 0
Архитектура DAO
    #39382705
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slavik_mscУперся потому что хочу сделать нормально.
ну тогда тут нет темы для обсуждения на 2 страницы.
- академически правильно в DAO - все таблицы представить объектами. Сколько таблиц - столько классов.
Т.е. DAO убирает и маскирует СУБД.
Берёшь и делаешь свой Helo World из 3-х таблиц как положено.
После того как будет готово, можно посомневаться
...
Не повторяйте DAO!
http://www.ibm.com/developerworks/ru/library/j-genericdao/
Это только пример того что надо всё пробовать самому).
Удачи!
...
Рейтинг: 0 / 0
Архитектура DAO
    #39383590
slavik_msc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста, я к каждому классу который соответствует своей таблице в БД, делаю слой DAO и слой сервиса.
И итоге есть класс который использует много объектов других классов, я могу использовать в слое DAO этого класса сервисы других классов? Насколько правильно так делать?
...
Рейтинг: 0 / 0
Архитектура DAO
    #39383605
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slavik_mscИ итоге есть класс который использует много объектов других классов
Откуда мы знаем что там у вас за класс "в итоге". Вы бы код привели.
ЗЫ. Бизнес логика делается повыше в сервисном слое.
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Архитектура DAO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]