Size: a a a

2021 November 05

S

SeanWoo in CODE BLOG / C#
Ну к примеру агрегация позволит тебе менять логику чего-то из вне
источник

S

SeanWoo in CODE BLOG / C#
Пробрасывая другую реализацию интерфейса
источник

S

SeanWoo in CODE BLOG / C#
В случае композиции пришлось бы лезть внутрь этого класса и менять реализацию
источник

МЕ

Макс Епифанов... in CODE BLOG / C#
подождите подождите...
источник

МЕ

Макс Епифанов... in CODE BLOG / C#
давайте по порядку
источник

МЕ

Макс Епифанов... in CODE BLOG / C#
что значит менять логику из вне?
источник

S

SeanWoo in CODE BLOG / C#
Представь какой нибудь объект AccountController(не тот что в аспе) который работает с внешней API, в нем наверняка будет какой нибудь HttpClient и его врятли нужно будет прокидывать через конструктор, ибо контроллер сам все настроит чтоб сделать запрос и вернуть ответ
источник

EA

Egene Avdeev in CODE BLOG / C#
Если упороться то любая композиция всегда агрегация...

Потому что вдруг надо поменять логику... 🥴
Ну ок.
источник

S

SeanWoo in CODE BLOG / C#
Не всегда не для всего)
источник

S

SeanWoo in CODE BLOG / C#
Какие нибудь сервисы вполне
источник

EA

Egene Avdeev in CODE BLOG / C#
В итоге если произойдёт цепочка наследования на 3 уровня, и на каждом уровне в конструктор  добавится ещё немного зависимостей, то спокойно до 10 ссылок в конструкторе будет?
источник

МЕ

Макс Епифанов... in CODE BLOG / C#
легко
источник

S

SeanWoo in CODE BLOG / C#
А какие то мелкие вещи которые врятли вообще заменяться будут то это композиция больше
источник

EA

Egene Avdeev in CODE BLOG / C#
И при этом не скажешь что эти 10 зависимостей надо декомпозировать
источник

EA

Egene Avdeev in CODE BLOG / C#
А потом тесты писать.....
источник

S

SeanWoo in CODE BLOG / C#
Боль
источник

S

SeanWoo in CODE BLOG / C#
Но в асп нет как правило такое бывает, взять тот же екоммерц
источник

S

SeanWoo in CODE BLOG / C#
Там конструктор и 15 принимает
источник

S

SeanWoo in CODE BLOG / C#
У них один генерик репозиторий и его интерфейс они прокидывают везде где нужен
источник

S

SeanWoo in CODE BLOG / C#
Получается огромный конструктор
источник