Size: a a a

2020 January 01

К

Карен in pro.net
Roman Nevolin
Эээээээ?
очень очевидно
источник

К

Карен in pro.net
а к свойствам че-то пристал
источник

К

Карен in pro.net
Roman Nevolin
Интерфейсы не содержат логику. Если без дефолтной реализации
давай про дефолтную реализацию теперь, неочевидно же
источник

К

Карен in pro.net
давай про DI, не очевидно кстати
источник

B

Bonart in pro.net
Roman Nevolin
И необходимости переопределять get/set у меня не возникало уже несколько лет. И, пожалуй, если бы она сейчас возникла - я бы постарался найти способ обойтись без этого
Ну если класс - DTO, то необходимости и впрямь нет. А если там стейтфул с инвариантами?
источник

IB

Ivan Balanar in pro.net
Oleg Morozov
допустим
и как часто у вас наступает это позже?
судя по частоте применения, это практически стандарт - все публичное только в пропертях, поля наружу не выставлять кроме как статические иногда.
источник

RN

Roman Nevolin in pro.net
Карен
давай про дефолтную реализацию теперь, неочевидно же
Даю. Спорная штука, нужна в отдельных случаях
источник

RN

Roman Nevolin in pro.net
Карен
очень очевидно
Так... Да, очевидно
источник

RN

Roman Nevolin in pro.net
Лан, сорри, я сливаюсь, тон беседы странный выходит :)
источник

К

Карен in pro.net
источник

OM

Oleg Morozov in pro.net
Карен
интерфейсы не юзаешь?
имхо интерфейсы надо проектировать через методы и геттеры

условный SomeLogic или AddSomething или еще чего
в разы лучшее, чем публичный сеттер, от которого вообще неизвестно что ожидать глядя на интерфейс
источник

OM

Oleg Morozov in pro.net
да и геттер сомнительно тоже
источник

К

Карен in pro.net
Oleg Morozov
имхо интерфейсы надо проектировать через методы и геттеры

условный SomeLogic или AddSomething или еще чего
в разы лучшее, чем публичный сеттер, от которого вообще неизвестно что ожидать глядя на интерфейс
ну это логично, зачем юзать свойства так чтобы они вызывали жжение в пятой точке?
источник

AT

Alexey Tkachenko in pro.net
Roman Nevolin
А можно я влезу с мнением, что публичный set - штука, которой стоит скорее избегать? А просто публичное readonly поле это нормально и get/set едва ли понадобятся
Поле передать на свойство без перекомпиляции зависимых сборок не выйдет, если вдруг в сеттер надо будет внедрить логику
источник

IC

Iλyα Che in pro.net
Oleg Morozov
так твой интерфейс это публичный гет/сет, что аналогично полю

от того, что тебе легко разъебать этот контракт не звучит как плюс
что изменение модификаторов доступа, что внезапная вставка логики, на которую не расчитывали
Чем аналогичен? В get; set; я могу добавить логику, к публичному полю нет.
источник

IC

Iλyα Che in pro.net
Сломать изменением всех пользователей или только тех, кто использовал интерфейс неправильно? Выбор очевиден.
источник

AT

Alexey Tkachenko in pro.net
Roman Nevolin
Не сказал бы, что это плохая практика - скорее трейдофф. Например, навешивание дополнительной логики на get/set, как по мне - это спорная идея, которая уменьшает понятность кода и увеличивает вероятность случайной ошибки, трудной для отладки
Если ты колбасишь анемичную модель - это аргумент, но со своим сроком годности: оно тоже при измерении стреляет больно
источник

IC

Iλyα Che in pro.net
Не говоря уже о виртуальных свойствах.
источник

AT

Alexey Tkachenko in pro.net
Roman Nevolin
И необходимости переопределять get/set у меня не возникало уже несколько лет. И, пожалуй, если бы она сейчас возникла - я бы постарался найти способ обойтись без этого
Дтошки гоняешь?
источник

OM

Oleg Morozov in pro.net
Iλyα Che
Чем аналогичен? В get; set; я могу добавить логику, к публичному полю нет.
лучше пусть рекомпильнутся, чем получать чейнджы в участках там, где они не ожидались
источник