@jvmchat

Страница 1209 из 2890
Dim
22.02.2017
03:58:08
Народ, вопрос концептуального характера. Вот есть у нас в Java пакеты. Как вы организуете проект? Можно пологаться на какое-нибудь DDD, но тогда проект будет выглядеть как что-то слишком абстрактное. Очень часто вижу организацию именно в таком стиле: domain, controllers, инфраструктура итд. Но ведь это все отвязано от реальных кейсов, от структуры предметной области. Приходиться прыгать из пакета в пакет, ведь часто модель имеет отношение к конкретному сервису, а они лежат в разных пакетах. Кто-то группирует классы по семантической структуре проекта и я считаю это более верным решением, нежели придерживаться паттерномании и методологии разработки ПО (ибо тогда слишком силен на этом акцент). А как делаете вы?

whalemare
22.02.2017
04:49:03
Разбитие по кейсам не тру, когда у тебя кейсов овер 30 начинается

Dim
22.02.2017
04:58:08
Вот у меня как раз не маленький проект и уже начинает доставать это прыганье по слоям.

Хочеться и слои сохранить и не потерять смысл.

Google
Dim
22.02.2017
04:59:25
Смысл не архитектурный, а предметной области.

Igor
22.02.2017
05:28:30
в домене и бизнес слое так можно сделать

а контроллеры размазывать это уже плохо

Dim
22.02.2017
05:29:49
а контроллеры размазывать это уже плохо
Согласен по поводу контроллеров.

Victor
22.02.2017
05:30:19
Почему? Хочется видеть все контроллеры в одном пакете?

Igor
22.02.2017
05:32:05
если одна кодовая база для десктопа и веба например, то так всегда раньше делали

Sergey
22.02.2017
05:40:22
Народ, вопрос концептуального характера. Вот есть у нас в Java пакеты. Как вы организуете проект? Можно пологаться на какое-нибудь DDD, но тогда проект будет выглядеть как что-то слишком абстрактное. Очень часто вижу организацию именно в таком стиле: domain, controllers, инфраструктура итд. Но ведь это все отвязано от реальных кейсов, от структуры предметной области. Приходиться прыгать из пакета в пакет, ведь часто модель имеет отношение к конкретному сервису, а они лежат в разных пакетах. Кто-то группирует классы по семантической структуре проекта и я считаю это более верным решением, нежели придерживаться паттерномании и методологии разработки ПО (ибо тогда слишком силен на этом акцент). А как делаете вы?
Это творческий вопрос. Цель разбивания по пакетам это порядок, чтоб ты мог быстро найти нужный модуль. Можно разбивать по слоям, Controller view domain logic... А внутри слоев по предметной области. А то что обращаешься в другой пакет что в этом плохого?

Можно и наоборот по предметной обл а внутри по типу

Dim
22.02.2017
05:47:41
вот я и думаю, как лучше.

V
22.02.2017
06:01:00
Лучшее враг хорошего

Dim
22.02.2017
06:03:10
Вот представте приходит новый человек в команду, а вы ему: - Вот наш проект, вот код, смотри, а там model, view, controller, services. И вроде бы все понятно, а вроде и нет) потому-что ни слова о предметной области.

master_c
22.02.2017
06:04:19
/stat@combot

Combot
22.02.2017
06:04:19
combot.org/chat/-1001043090457

Google
Vlad
22.02.2017
06:10:48
Для меня на больших проектах всегда было сложно раскидывать классы по пакетам. Да и если честно в итогде все равно поиском пользуешься когда нужен тот или иной класс.

Vlad
22.02.2017
06:21:31
Да, но тут помогают не пакеты а правила именования классов.

Был на проеке раз, где классы одинаково именовали но в разных пакетах были

Вот где ад был.

guga
22.02.2017
06:27:03
Ну так что, я решил забить на курсорную пагинацию, но может её кто-то таки делала на спринге?

Vlad
22.02.2017
06:29:32
А спринг то тут при чем?

Ps не делал.

Если я правильно тебя понял то тут больше вопрос к бд. И получается прийдется следить за тем чтобы курсор не протух.

Лучше вообще без пагинаций делать.

sss3 ?
22.02.2017
06:40:31
Vlad
22.02.2017
06:48:01
Отдавать все сразу?
Процесс выстроить так, чтобы только нужные данные выводились

В большинстве случаев тебе не нужно 100500 записей.

sss3 ?
22.02.2017
06:48:19
Ну вот у тебя бложик

Как возвращать данные

Vlad
22.02.2017
06:49:03
Ну это ж тривиально.

Обычную офсетную пагинацию делаешь как все.

sss3 ?
22.02.2017
06:49:35
Так без пагинации же

Google
Vlad
22.02.2017
06:49:59
Ну тогда последние n записей выводи

sss3 ?
22.02.2017
06:50:15
А остальные можно сразу удалять

Vlad
22.02.2017
06:50:20
А остальные - в архиве.

sss3 ?
22.02.2017
06:50:23
Пользователь же их уже никогда не прочитает

Сам понимаешь что говоришь?)

Vlad
22.02.2017
06:50:38
Да :)

sss3 ?
22.02.2017
06:50:47
Дичь, да?)

Vlad
22.02.2017
06:50:48
Web.archive.org

Или как он там назывался.

S
22.02.2017
06:51:28
В Spring Data есть же пагинация

Vlad
22.02.2017
06:52:29
Ну вот в выдаче поисковика - редко кто пользуется пагинацией

Vlad
22.02.2017
06:52:42
Чаще - уточняют запрос поисковый

guga
22.02.2017
06:52:53
Vlad
22.02.2017
06:53:12
Бесконечный скрол?

guga
22.02.2017
06:53:24
Ага

Vlad
22.02.2017
06:53:39
Так там под капотом не факт что курсоры

Можно просто новый запрос делать от последней загруженой записи

И это лучше чем офсеты вероятно

guga
22.02.2017
07:12:45
да, но тоже не выход, , если есть сортировка

Google
Aliaksei
22.02.2017
07:13:21
Разбивать проект и пакеты нужно по доменам

Aliaksei
22.02.2017
07:13:41
Внутри - функциональная разбивка

guga
22.02.2017
07:13:51
хочу так

но не хочу писать руками

Aliaksei
22.02.2017
07:13:57
Каждый домен имеет апи

guga
22.02.2017
07:13:57
https://www.sitepoint.com/paginating-real-time-data-cursor-based-pagination/

Admin
ERROR: S client not available

Aliaksei
22.02.2017
07:14:13
Желательно домен оформить как модуль

guga
22.02.2017
07:15:16
хочу магию спринга, вжух, включи spring.data.cursor-based-paignation=enable

и у тебя в hateos уже все нужные линки

не хочу разбираться хочу магию

Aliaksei
22.02.2017
07:15:41
Так есть же спрингдата

Там pagination уже завезен

Ivan
22.02.2017
07:16:15
ну limit offset не перформансно тип

guga
22.02.2017
07:16:20
Ага на лимит офсет

Aliaksei
22.02.2017
07:16:58
Я для маленьких сервисов - свою пагинацию делал, это ж классик один и доп метод в репозитории

Ivan
22.02.2017
07:17:00
если 200к записей уже чувствуется

guga
22.02.2017
07:20:03
Я для маленьких сервисов - свою пагинацию делал, это ж классик один и доп метод в репозитории
Ну вот, а я склоняюсь к тому, что бы чуваки у себя на клиентах мерджили

Aliaksei
22.02.2017
07:21:01
Клиент тебе будет слать запрос на следующие данные

Google
guga
22.02.2017
07:21:38
да, но нужно что-то, что показывает какие у него сейчас уже есть

что бы дать именно N следующих

Aliaksei
22.02.2017
07:23:20
Можно вообще так: первый запрос на N записей, ты возвращаешь их плюс ключ по которому клиент будет дальше тягать записи

Типа как курсор

guga
22.02.2017
07:23:34
вот это я и хочу

но из коробки

Aliaksei
22.02.2017
07:23:56
Ебна)

Тыж программист

guga
22.02.2017
07:24:18
Тыж программист
нет я джун, опыта нету и вообще мне лень

я что зря спринг выбрал?

Aliaksei
22.02.2017
07:24:32
Тут джуны не сидят

Тут все архитекторы и скалабигдата инженеры

Vladimir
22.02.2017
07:24:57
/stat@combot

Combot
22.02.2017
07:24:58
combot.org/chat/-1001043090457

guga
22.02.2017
07:27:42
Тут все архитекторы и скалабигдата инженеры
а так, это нужно нагенерить ключ, потом его парсить, я пока даже не сильно представляю как, это же в нем уже будет зашито направление и сортировка, как минимум

Aliaksei
22.02.2017
07:28:32
Ну зависит от базы, например elastic search сам управляет курсором

Vlad
22.02.2017
07:28:35

Страница 1209 из 2890