Size: a a a

2018 February 15

SK

Sergey Kapralov in JUG NN
Ну ладно, лямбды еще терпимо
источник

SK

Sergey Kapralov in JUG NN
Если бы они еще не были какими то зашкеренными Anonymous-VM классами под капотом...
источник

С

Сергей in JUG NN
Ну а как они могут навредить? Не, понятно, что при желании можно и телефоном например себе лоб расшибить, но телефон же от этого плохим не становится.
источник

V

Viacheslav Tikhonov in JUG NN
Тут всегда такой бесполезный трёп?
источник

SK

Sergey Kapralov in JUG NN
Viacheslav Tikhonov
Тут всегда такой бесполезный трёп?
Есть альтернативные предложения?
источник

SK

Sergey Kapralov in JUG NN
Сергей
Ну а как они могут навредить? Не, понятно, что при желании можно и телефоном например себе лоб расшибить, но телефон же от этого плохим не становится.
Вот любите вы в аналогии играть... Как дефолтные методы могут навредить? Ну хотя тем что появляется большуший соблазн засунуть в абстрактный модуль  волатильные вещи и потом огребать ripple effect при поддержке. Dependency Inversion Principle в действии.
источник

SK

Sergey Kapralov in JUG NN
Или примесить к классу какой нить посторонний функционал и похерить Single responcibility.
источник

С

Сергей in JUG NN
Ну с одной стороны наверное да. С другой стороны все это можно проделать и без дефолтных методов. Ну тоесть нарушить сингл респонсибилити можно просто неправильно класс задезайнив
источник

VK

Vlad K in JUG NN
вот и DTO безобидные стали виноваты))
источник

SK

Sergey Kapralov in JUG NN
Никто не говорил что они виноваты. Я утверждал что они нах не нужны просто.
источник

VK

Vlad K in JUG NN
Весьма относительно - ведь часто же интерфейс рест сервиса, например, не имеет прямого маппинга в модельки и собирается из кучи кусочков в одно DTO - какой тут криминал?
источник

VK

Vlad K in JUG NN
Даже лучше сказать что собирается в один некий View
источник

SK

Sergey Kapralov in JUG NN
В лучшем случае DTO это stamp coupling между двумя сервисами - не самый худший исход, хотя легко переделывается в Data coupling (вызов метода с необходимыми аргументами). В худшем случае это пиздецовый temporal coupling между десятком сервисов. А вообще да - на границах IO (ресты) он еще может быть оправдан.
источник

VK

Vlad K in JUG NN
на границе IO мало альтернатив так-то
источник

SK

Sergey Kapralov in JUG NN
Но тогда другой вопрос - зачем DTO нужен как закос под объект - с геттерами-сеттерами, если это суть простая структура которая ничего не инкапсулирует?
источник

VK

Vlad K in JUG NN
согласен про церемонии с геттерами и сеттерами - в 99% они просто тупо не нужны
источник

VK

Vlad K in JUG NN
просто struct
источник

SK

Sergey Kapralov in JUG NN
И еще момент. Зачем сеттеры и мутабельность, если ничего кроме боли и темпорал каплинг между сервисами не дает?
источник

VK

Vlad K in JUG NN
мутабельность не обязательно, просто сделать иммутабельную структуру в джаве, с методами для изменения-клонирования, вроде бы нетривиально(либо я не в курсе всех новинок)
источник

VG

Vladislav Gasanov in JUG NN
Ну сейчас почти весь бойлерплейн код убрать можно с lombok
источник