powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация структура maven проектов. (буквы)
26 сообщений из 26, показаны все 2 страниц
Реализация структура maven проектов. (буквы)
    #39790513
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Предыстория.
На днях, ректрутер одной компании задал мне вопрос на тему работал ли я с "Intellij plugin platform" и "Eclipse RCP". Сначала даже не понял вопроса и ответил что нет. И естественно решил загуглить что же это, скажу честно, ответ (правильные статьи) мне не сразу пришел. Итого - разработка десктоп приложений.
Да, было время давно, я попробовал что такое Swing, помню как он меня ужаснул своим позиционированием компонентов, и больше к нему не возвращался. Теперь же понял что надо таки подтянуть скилы по нему и написать приложение.

Продолжение предыстории.
Было решено создать десктопное приложение, и прикрутить его к своему "пэт-проекту" на maven (назовем его "вэб-проект"). Это вэб-проект на spring-boot с кучей дополнительно используемых технологий и естественно с полноценным REST интерфейсом с авторизацией.
И эта идея мне нравится все больше - сначала это должен был быть тупо Swing с 5-7 формами, круды и вьюшки.
Но затем пришли более интересные мысли - реализовать нормальный MVC c использованием Spring (больше для красоты), слой репозитория сделать зависимым от того как юзер захочет работать - или через REST интерфейс, или напрямую с БД (тут пригодится существующая реализация, из самого вэб-проекта).

Мысли о реализации.
Так как идея создания десктоп приложения родилась достаточно быстро, то и реализовать пробу хотелось скорей. В вэб-проекте создал пакет desctop и накидал туда пробы (только swing). Да, все красиво работает - на рест интерфейс посылает запросы, получает json-ответы, затем их разбирает на TransferObject'ты и использует еще несколько (пока несколько) классов-сущностей (всего их около 10).
Далее возник резонный вопрос - ведь десктопное приложение это отдельный проект по сути, ему нужен свой jar-ник. Т.е. его надо отделить от основного (вэб-проекта).

Разделение (ранее многомодульностью не занимался, тут все проделывалось впервые)
Проба 1. Создаю родительский maven-проект, в нем создаю детей: web и desktop. Родитель остается чистым (про pom.xml), а детей соответственно раскидываю по их направлениям. Получает так, что desktop имеет зависимость на web, со всеми его зависимостями. На этом этапе мне что-то не понравилось.
Проба 2. Возвращаюсь в начало. В вэб-проекте создаю child "desktop", в него переношу десктопную часть. И узнаю, что собрать проект "desktop" я не могу, потому что родительский пакет должен быть "pom", а не "war".

Мысль последняя (не испробованная, и есть сомнения).
Сделать как "Проба 1", и из ребенка "web" вынести в родителя классы, общие для web и для desktop. Тогда дети останутся "при своих".

Вопросы:
1) правильная ли последняя мысль?
2) допустил ли ошибки в пробах 1 и 2 (если их видно из описанного)?
3) прошу советов - как такое реализовывается в энтерпрайзе?
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39790526
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

концепция "у некоторых модулей проекта есть общая часть, поэтому ее нужно вынести в отдельный модуль" правильная, но предпосылка должна быть несколько другой, а именно "смогу ли я в будущем некоторую часть проекта переиспользовать?", тогда придет понимание, что модули могут быть примерно такие:
- модель
- DTO
- API сервисов
- реализация сервисов
- web
- толстый клиент
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39790560
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,
Зачем два вопроса рассматривать в одном?
Eclipse и банальное использование библиотек jar в обоих проектах.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39790667
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Imperous,
Зачем два вопроса рассматривать в одном?
Eclipse и банальное использование библиотек jar в обоих проектах.
Нет, эклипс это часть предыстории, к вопросу не относится.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39790668
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловImperous,

концепция "у некоторых модулей проекта есть общая часть, поэтому ее нужно вынести в отдельный модуль" правильная, но предпосылка должна быть несколько другой, а именно "смогу ли я в будущем некоторую часть проекта переиспользовать?", тогда придет понимание, что модули могут быть примерно такие:
- модель
- DTO
- API сервисов
- реализация сервисов
- web
- толстый клиент

не согласен

модули предлагаю такие:

- common (в нем модель, DTO, API сервисов/интерфейсы)
- core (реализация service, repository, configs, converts dto)
- web
- толстый клиент
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39790680
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А объясните пожалуйста что вы подразумеваете под "толстый клиент", я вроде понимаю, но боюсь что не верно.
Толстый клиент тянет все зависимости (модули) и реализует весь функционал?
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39790682
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousPetro123Imperous,
Зачем два вопроса рассматривать в одном?
Eclipse и банальное использование библиотек jar в обоих проектах.
Нет, эклипс это часть предыстории, к вопросу не относится.ну, я же написал.
Тогда весь вопрос сводится к вопросу как один jar использовать в двух проектах?
Мелковато).
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39790683
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,
Толстый клиент это БЛ на клиенте.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39790706
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дняне согласен

модули предлагаю такие:

- common (в нем модель, DTO, API сервисов/интерфейсы)
- core (реализация service, repository, configs, converts dto)
- web
- толстый клиенттут уже каждый делает как хочет, однако:
- то что DTO является частью API - факт, однако DTO предполагает наличие только POJO и не должно иметь каких-либо зависимостей, поэтому вынесение в отдельный модуль позволит избежать косяков в будущем
- модель априори существует сама по себе и ее можно использовать не только в основном приложении, но и во всяких интеграциях, загрузчиках данных и т.п.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791128
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Imperous,
Толстый клиент это БЛ на клиенте.
эммм, что такое БЛ?
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791131
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,
Бизнес логика (в веб контролеры)
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791281
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

Тут вопрос хотите монорепозитарий, или нет.
Например я делаю так:
Создается POM-проект, который будет содержать все модули.
Далее в нем создаются модули для конкретных приложений.
REST-API, Web-client и т.д.

Но никто не мешает делать и по другому.
Т.е. не делать модулями одного проекта, а делать отдельные проекты.

Это зависит не столько от проекта, сколько как вы будете управлять проектом/проектами.
Точнее как вы будете это хранить в системе контроля версий. И как вы будете работать со своим мавен-репозитарием.

Так что ответ будет зависеть только от вас. :-)
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791297
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор нафигачил много букв, а потом ударился в молчанку.
Диалога не будет.
Конструктива тоже.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791310
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Автор нафигачил много букв, а потом ударился в молчанку.
Диалога не будет.
Конструктива тоже.

Ничего подобного.
Читаю, смотрю, принимаю к сведению.
От себя могу добавить, что ни мой вариант, ни предложенные, мне не очень нравятся, как рана, которая заживает и чешется (вроде все как и должно быть, но чешется). Вероятно оно конечно так и делается в жизни, но получается слишком сильная расчлененка... Хочется сделать это более изящным путем.

Вот вспомнилась фраза:
Совершенство достигнуто не тогда, когда нечего добавить, а когда нечего убрать.
— Антуан де Сент-Экзюпери

Т.е. нафигачить лишнего совершенно не хочется, но при этом и делить, по сути то что никак более использоваться не будет, как-то нет желания.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791314
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложение, со времени создания топика, находится на паузе.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791326
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous, а что значит:

Imperous слой репозитория сделать зависимым от того как юзер захочет работать - или через REST интерфейс, или напрямую с БД (тут пригодится существующая реализация, из самого вэб-проекта).
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791341
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousНичего подобного.
Читаю, смотрю, принимаю к сведению.это я и заметил.
Если пациент у врача молчит на симптомы, то вероятность диагноза стремится к нулю.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791584
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинImperous, а что значит:

Imperous слой репозитория сделать зависимым от того как юзер захочет работать - или через REST интерфейс, или напрямую с БД (тут пригодится существующая реализация, из самого вэб-проекта).

Можно например спрашивать юзера, как приложение будет взаимодействовать с базой. И варианты - через web или напрямую с БД.
Не заморачивайся, это к вопросу не относится.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791597
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousНе заморачивайся, это к вопросу не относится.тут есть в топике конкретный вопрос?
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791623
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousОзверинImperous, а что значит:

пропущено...


Можно например спрашивать юзера, как приложение будет взаимодействовать с базой. И варианты - через web или напрямую с БД.
Не заморачивайся, это к вопросу не относится.

это довольно сильно относится к вопросу, т.к. если слой доступа к данным будет общим для клиента на свинге и на веб сервиса, то и выносить его надо в отдельный jar`ник со всеми моделями, пропертями к базе и так далее, если же нет - то и не надо...
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791650
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
+1
Притом, обычно каа раз разный функционал веб и десктоп. Поэтому общего у них будет мало.
Поэтом сабж и топик не имеют смысла.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791717
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ImperousНе заморачивайся, это к вопросу не относится.тут есть в топике конкретный вопрос?
Да, в самом первом посте, внизу.
авторВопросы:
1) правильная ли последняя мысль?
2) допустил ли ошибки в пробах 1 и 2 (если их видно из описанного)?
3) прошу советов - как такое реализовывается в энтерпрайзе?
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791720
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинImperousпропущено...


Можно например спрашивать юзера, как приложение будет взаимодействовать с базой. И варианты - через web или напрямую с БД.
Не заморачивайся, это к вопросу не относится.

это довольно сильно относится к вопросу, т.к. если слой доступа к данным будет общим для клиента на свинге и на веб сервиса, то и выносить его надо в отдельный jar`ник со всеми моделями, пропертями к базе и так далее, если же нет - то и не надо...

согласен, но это второстепенно.
на первом этапе сущности и ТО.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791734
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousPetro123пропущено...
тут есть в топике конкретный вопрос?
Да, в самом первом посте, внизу.
авторВопросы:
1) правильная ли последняя мысль?
2) допустил ли ошибки в пробах 1 и 2 (если их видно из описанного)?
3) прошу советов - как такое реализовывается в энтерпрайзе?
На первый вопрос, ответ - нет.
Тогда остальные не имеют значения.
Сущности не имеет смысла выделять в либы, dll и jar.
Там только маппинг и больше ничего нет.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39791735
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousПриложение, со времени создания топика, находится на паузе.как паузу снимешь, так и приходи.
...
Рейтинг: 0 / 0
Реализация структура maven проектов. (буквы)
    #39792088
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

ок, но на паузе оно как раз по причинам "не нравятся решения" и "навалилось работы".

в любом случае - всем спасибо!!!
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация структура maven проектов. (буквы)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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