И не забудь насчет кроссплатформенности, изначально это была один из главных рекламных фич java.а для клиентского UI на тонких клиентах как ни забавно это сейчас звучит
и в расте. И норм вполне.в концепции наследования, которую просто не хватило смелости выбросить целиком, как это сделали в том же golang.
Вот это неоднозначное утверждение, тут надо уточнить, как именно фабричный метод используется.Если у абстрактного класса защищенные мемберы, это DI путем наследования (например, фабричный метод).
Отложи ЧСВ. В 95% кода в мире публичные свойства - часть интерфейса.А смысл свойствам быть частью абстрагированных контрактов?
Если каждый DTO был конкретным пользовательским и отличался от других, не были бы нужны generic-и.Всегда, когда они нужны, у нас совершенно конкретный пользовательский тип.
DTO - это объект. Тезис о том, что DTO - не полноценный объект, любопытно, но это причуда. Есть объекты, есть массивы. Неполноценные объекты - это лямбда, анонимный класс и трейт.Public readonly свойство уместен только для value objects/DTO, для которых никакое абстрагирование не требуется по определению - это даже не полноценный объект, просто immutable structure с конструктором. Просто кастомный тип данных, ты же не пытаешься абстрагировать string или integer.
DTO - это плюс-минус просто параметры для метода. И относиться надо к ним так же.DTO - это объект. Фантазия о том, что DTO - не полноценный объект, любопытно, но это лишь твои личная причуда.
можно... например просто расшифровать аббревиатуру@Adelf было бы хорошо привести не только личное мнение вас четверых.
вопрос в том, сколько еще людей так считает, кроме вас четверых?Конкретно эти объекты низвергнуты в касту "просто передатчиков данных". Но это не значит, что все объекты такие же.
А коллекция не может быть параметром функции?В ООП VO - это в первую очередь контракт. Методы count, toArray, toJson, toCSV, преобразование кодировок данных достаточно распространено в элементах коллекций.