
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
но в целом понятно, что происходит

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

Alpha
29.06.2018
14:22:39

Google

Митко Соловец?
29.06.2018
14:23:01
ну или сильно меньше их становится

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

Митко Соловец?
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

Google

Митко Соловец?
29.06.2018
14:28:27

Marat
29.06.2018
14:28:51

Alpha
29.06.2018
14:28:54

Yan
29.06.2018
14:29:02
как одно решение уйти от дто в ресте это graphql
но он и приносит другие проблемы))

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

Митко Соловец?
29.06.2018
14:30:23
которую ты заворачиваешь уже в http-сущность

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

Alpha
29.06.2018
14:31:06

Митко Соловец?
29.06.2018
14:31:19

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

Alpha
29.06.2018
14:33:15

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

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
А, ну да
К этой части у меня и нет вопросов

Marat
29.06.2018
14:38:48

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

Tolegen
29.06.2018
14:39:18

Митко Соловец?
29.06.2018
14:39:38

Marat
29.06.2018
14:39:46

Sergey
29.06.2018
14:39:58

Alpha
29.06.2018
14:40:07

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

1337
29.06.2018
14:40:28

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

Sergey
29.06.2018
14:41:04

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

Alpha
29.06.2018
14:41:31

Митко Соловец?
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