Информация об изменениях

Сообщение Re[7]: Про бизнес-объекты: для сохранения, для API, для внут от 26.09.2017 22:14

Изменено 26.09.2017 22:15 bnk

Re[7]: Про бизнес-объекты: для сохранения, для API, для внут
Здравствуйте, Shmj, Вы писали:

S>А вы даже интерфейсы не определяете, просто делаете разные классы? Ни базового ни интерфейсов общих?


Ничего. Ни общего базового класса, ни интерфейсов. Просто разные классы с одинаково названными полями.

bnk>>Если больше одного-двух-трех — нет, в лес. Делаем проперти. Для DTO — да, никаких конструкторов.


S>А зачем тогда вообще конструкторы с параметрами нужны? Может сразу запретить конструкторы с параметрами и всем станет проще жить?


Ну речь же про DTO. Вот для DTO — не нужны. А вообще — бывает удобно. using сделать, эксепшен бросить, зависимости проинициализировать.. Для DI например.
Последнее кстати исключение — может быть больше 3 аргументов. Но тут уже чисто технические ограничения используемого фреймворка.

Речь не только про конструктор. Вообще, зачем в фунцию передавать много аргументов? Если надо — обернул в объект, передал.
А то сделают конструктор типа
new UserInfo(string domain, string username, string gender, string password)
— поди не перепутай аргументы при вызове
Re[7]: Про бизнес-объекты: для сохранения, для API, для внут
Здравствуйте, Shmj, Вы писали:

S>А вы даже интерфейсы не определяете, просто делаете разные классы? Ни базового ни интерфейсов общих?


Ничего. Ни общего базового класса, ни интерфейсов. Просто разные классы с одинаково названными полями.

bnk>>Если больше одного-двух-трех — нет, в лес. Делаем проперти. Для DTO — да, никаких конструкторов.


S>А зачем тогда вообще конструкторы с параметрами нужны? Может сразу запретить конструкторы с параметрами и всем станет проще жить?


Ну речь же про DTO. Вот для DTO — не нужны. А вообще — бывает удобно. using сделать, эксепшен бросить, зависимости проинициализировать.. Для DI например.
Последнее кстати исключение — может быть больше аргументов. Но тут уже чисто технические ограничения используемого фреймворка.

Речь не только про конструктор. Вообще, зачем в фунцию передавать много аргументов? Если надо — обернул в объект, передал.
А то сделают конструктор типа
new UserInfo(string domain, string username, string gender, string title, string password)
— поди не перепутай аргументы при вызове