@jvmchat

Страница 2613 из 2890
Sergey
29.06.2018
14:16:37
Галеру там перед заказчиком пиарили

Не решали короче ничего

Slava
29.06.2018
14:18:02
Галеру там перед заказчиком пиарили
ключевое слово "перед заказчиком". архтектор на аутсорсе - не самая сладкая работа, архитектор в опенсорс проекте - думаю, вполне хорошая позиция

Tolegen
29.06.2018
14:18:33
Аутсорс вообще в целом - такое себе занятие

Google
Slava
29.06.2018
14:18:37
+

Tolegen
29.06.2018
14:18:42
Не хочу больше в аутсорс работать

Yan
29.06.2018
14:19:00
сейчас работаю в аутсорс

индуский проект на OSGI завезли)) весёлое занятие добавление новых фичей

Tolegen
29.06.2018
14:19:46
О:

Sergey
29.06.2018
14:20:24
Аутсорс вообще в целом - такое себе занятие
Лет десять назад аутсорс еще вроде ничего был (субъективно). Тогда слово архитектора еще имело вес.

Yan
29.06.2018
14:20:35
https://pastebin.com/5wpBEi4V

и так весь проект))

Tolegen
29.06.2018
14:21:36
У меня сейчас неплохой проект. Java 8/gradle 4.8/Spring 4.3.17. Покрытие тестами обязательно, статический анализ, интеграционные тесты, код ревью и прочее прочее. И люди в целом неплохие работают. Но все равно как-то не то все равно.

Митко Соловец?
29.06.2018
14:22:16
https://pastebin.com/5wpBEi4V
без джава скл дсл грустновато

но в целом понятно, что происходит

Tolegen
29.06.2018
14:22:39
Например что-то новое делают в Лондоне, а нам потом передают, как готовое.

Alpha
29.06.2018
14:22:39
Вместо этого гоняем ДТО по слоям сервисов)
Кстати, в сферической Clean Architecture DTO используют для передачи данных между слоями, но так ли необходимо писать отдельный DTO на каждый слой?

Google
Alpha
29.06.2018
14:23:21
там и слоев может не быть
Ну берём сферического коня со слоями.

Митко Соловец?
29.06.2018
14:23:23
тк у тебя рич обжект берет на себя функционал

Tolegen
29.06.2018
14:23:35
DTO для меня хорошо только на границе приложения с внешними системами/источниками данных.

Когда DTO используется в передаче между сферическими сервисами - превращается все в лапшу

Alpha
29.06.2018
14:24:21
тк у тебя рич обжект берет на себя функционал
Кстати, я в своё время на конвертеры перекатился, но вообще не уверен что это как-то правильно с точки зрения теории

Yan
29.06.2018
14:24:55
конверторы,мапперы)) норм тема

Митко Соловец?
29.06.2018
14:25:21
куда лучше, чем toDto, toEntity

у рич обжекта

Marat
29.06.2018
14:25:35
конверторы,мапперы)) норм тема
ага, проходили: toDto/fromDto

Митко Соловец?
29.06.2018
14:25:35
тк по идее тут скрещивание слоев идет

Yan
29.06.2018
14:26:11
вроде дто слой из EJB пошел или я ошибаюсь?

Tolegen
29.06.2018
14:26:32
JavaBeans

Митко Соловец?
29.06.2018
14:26:33
java2ee паттерны вроде

есть еще VO - value objects

Tolegen
29.06.2018
14:26:46
Самое зло, которое произошло с индустрией)

Митко Соловец?
29.06.2018
14:26:52
TO

Marat
29.06.2018
14:27:27
http://www.oracle.com/technetwork/java/transferobject-139757.html

Alpha
29.06.2018
14:27:29
DTO для меня хорошо только на границе приложения с внешними системами/источниками данных.
Ну вот смотри: есть у нас условный Entity, конкретный объект. Я что-то с ним делаю, а потом отправляю в контроллер и только в контроллере конвертирую в DTO. Но Entity это же ещё и модель данных. Да и как тогда укладывается работа с Repository на слое сервисов, если база данных, так-то, тоже внешний источник данных

Google
Alpha
29.06.2018
14:28:54
ну и каша у тебя в голове
Скорее я криво пояснил

Yan
29.06.2018
14:29:02
как одно решение уйти от дто в ресте это graphql

но он и приносит другие проблемы))

Alpha
29.06.2018
14:29:59
Очень сильно не хватает поддержки Mermaid в чятике

Tolegen
29.06.2018
14:31:03
В общем для CRUD эти слои, MVC и типичный спринг подход думаю имеет смысл. Главное потом суметь это дело перевести в нормальное русло при усложнении логики

Alpha
29.06.2018
14:31:06
ты в контроллер отправляешь уже ДТО
И из контроллера извне тоже DTO, но уже другое. Но с базой-то как быть?

Alpha
29.06.2018
14:31:32
База же тоже внешний источник данных по отношению к нашему приложению

Митко Соловец?
29.06.2018
14:31:42
да

только ты кое-что забываешь

Alpha
29.06.2018
14:31:57
А слой сервисов, в куче CRUD-ов, зависит от репозиториев

Митко Соловец?
29.06.2018
14:31:59
эта бд понятия не имеет о твоих энтити)

в отличии от внешних систем

с которыми ты по хттп например взаимодействуешь

бд ты должен смаппить свою энтити в скл - любым способом

те в бд не уйдет никакой объект

Google
Sergey
29.06.2018
14:33:01
Когда DTO используется в передаче между сферическими сервисами - превращается все в лапшу
Я одно время тоже так думал, и как компромиссная позиция годится в общем то, но на практике - мне так муторно, например. У себя я вообще забил. Данные - это данные, нечего из них объекты корчить. Опиши я у себя GitHub хук евент как DTOшку, даже с ломбоком получил бы орясину на 100500 строк, из которых мне нужно то от силы десяток полей.

Alpha
29.06.2018
14:33:15
эта бд понятия не имеет о твоих энтити)
Ну погоди, Entity же по-сути модель таблицы. Одна энтити — одна запись.

Alpha
29.06.2018
14:33:35
Так.

Сейчас переформулирую: есть репозитории, которые дёргают SQL туда-сюда. И так получается, что слой сервисов зависит от репозиториев. Но база, из/в которую туда-сюда данные в репозиториях гоняются, является внешним источником данных по отношению к нашему приложению.

Митко Соловец?
29.06.2018
14:35:10
ну как тебе объяснить - ты энтити эту в бд не отправляешь - какой-либо код генерит из нее скл запрос

а то ты отправляешь в систему дто - она сериализуется и сразу идет в работу

Alpha
29.06.2018
14:35:34
Это я понимаю

Я про направление зависимостей

Admin
ERROR: S client not available

Alpha
29.06.2018
14:35:56
Контроллер -> Сервис -> Репозиторий

Т.е. получается что слой сервисов (бизнес-логики) зависит от внешнего слоя

Хотя по той же Clean Architecture должно быть как-то так: Controller -> Service <- Repository

Митко Соловец?
29.06.2018
14:37:13
а как сервис от контроллера зависит?

Alpha
29.06.2018
14:37:25
Наоборот же

Контроллер от него

Митко Соловец?
29.06.2018
14:37:47
так он источник данных

для него

Alpha
29.06.2018
14:38:15
Репозиторий для сервиса?

Митко Соловец?
29.06.2018
14:38:25
сервис для контроллера

Google
Alpha
29.06.2018
14:38:31
А, ну да

К этой части у меня и нет вопросов

Alpha
29.06.2018
14:39:07
У меня вопрос к части с зависимостью сервиса от репозитория, хотя по-идее должно быть наоборот

Marat
29.06.2018
14:39:46
Sergey
29.06.2018
14:39:58
Да, так и есть. Ну короче я для себя решил слезать к чертям с Java. Гиблое это дело)
Так а какие тут больно альтернативы то? Даже если другие языки брать. Данные они и есть данные.

Alpha
29.06.2018
14:40:07
репозиторий зависит от сервиса?
В текущих реализациях — сервис от репозитория зависит. Но ведь по-идее должно быть наоборот

Митко Соловец?
29.06.2018
14:40:20
я так не думаю

Митко Соловец?
29.06.2018
14:40:50
в анемик модели у тебя сервис может несколько источников данных в себя включать, от которых зависит БЛ этого класса

Sergey
29.06.2018
14:41:04
лучше на ЕО писать
Индусский можно писать только на индусском)

Marat
29.06.2018
14:41:15
если сервис пишется для уже готового репозитария, то танцуем от репы, если они дизайнятся вместе, то репу обычно рисуют под требования сервиса

Митко Соловец?
29.06.2018
14:42:36
Можешь ссылку дать на статью каноничную?
Мартин Фаулер - Шаблоны корпоративных приложений

Alpha
29.06.2018
14:42:49
Так тут классическая схема же, где по-итогу сервис имеет репозиторий в зависимостях

Tolegen
29.06.2018
14:42:58
в анемик модели у тебя сервис может несколько источников данных в себя включать, от которых зависит БЛ этого класса
Это все хорошо звучит. До того момента, когда одному сервису нужна функциональность другого

Alpha
29.06.2018
14:43:05
Vyacheslav
29.06.2018
14:43:48
народ, как заставить спринговый контроллер вернуть plain text?

@ResponseBody и produces = "text/plain;charset=UTF-8" стоят

Митко Соловец?
29.06.2018
14:44:23

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