Для затравки:
https://habr.com/ru/articles/903426/
Вот сейчас как принято:
1. Слой сервисов — отдельный оъект. Тут не от нас зависит — в виде, котором вернет внешний сервис, не удобный для нас.
2. Слой данных — этот же объект чуть иначе представлен. Так же СУБД не все поддерживает, упрощает для нее.
3. Слой Domain — уже идеальное представление для нас.
4. Ну и само отображение на форме.
Итого — чтобы добавить одно поле — нужно сделать изменения в 4 местах + в конвертерах (которые преобразуют между слоями). Допустим 5 мин. на каждое изменение — уже 20 мин.
А если еще и окажется что поле потребует создать вложенный тип — то
Но это только одна из причин, почему современная разработка выедает любой бюджет и любое время — похоже на черную дыру.
А ведь еще есть — управление зависимостями с пресловутым
адом зависимостейАвтор: Shmj
Дата: 06.05 11:53
, который по прежнему не решен.
Еще есть мода везде тянуть по 100500 внешних библиотек. Ну ОК, 150 штук в среднем на небольшой, не считая вложенных. И у каждой либы свои баги, у каждой свои особенности. Иногда они конфликтуют. Каждое обновление может разушить гармонию.
Еще — развертывание. Сейчас же принято на каждую функцию делать отдельный микросервис и все это управляется Kubernetes. А еще 6 платформ нужно поддерживать практически всегда.
В общем, пришли к какому-то Вавилону в конце концов