Size: a a a

2021 April 03

β🎀

βλαδιμιρ 🎀 🌎🔫... in .NET Talks🎄
С контроллерами никто не работает полиморфно
источник

β🎀

βλαδιμιρ 🎀 🌎🔫... in .NET Talks🎄
Это антипаттерн
источник

λР

λетучая Рыба... in .NET Talks🎄
Anton Antonov
Ну например ты хочешь хранить все эти объекты (объекты разных классов) и переодический хочет чекать состояния их двигателя.
источник

λР

λетучая Рыба... in .NET Talks🎄
вот примерно так альтернатива наследованию выглядит (код из репозитория всеми любимого Егора Бугаенко), называется композицией в англоязычной литературе
источник

λР

λетучая Рыба... in .NET Talks🎄
по сравнению с наследованием преимущества в том, что можно скомпозировать что угодно и как угодно, при необходимости в тестах замокать какой-нибудь микрокомпонент, ну и чз декораторы вообще что угодно и как угодно можно расширять
источник

λР

λетучая Рыба... in .NET Talks🎄
Сергей (F L )
Если мы храним ссылки на чужой двигатель автомобиля который каруселит по дорогам, это нарушение инкапсуляции, хотя с двигателем плохой пример так как это композиция а не агрегация. А вот если у нас будет удаленный доступ к прибору который считывает данные двигателя, то все пучком.
в чём разница между композицией и агрегацией в вашей интепретации?
источник

С(

Сергей (F L ) in .NET Talks🎄
λетучая Рыба
в чём разница между композицией и агрегацией в вашей интепретации?
Композиция должна быть скрыта, и обьект без части какой то части существовать не может, пример сердце человека. А агрегация это что то, что может включать в себя обьект, и легко заменять, или отсутствовать без проблем к существованию, и функционала обьекта. думаю так
источник

С(

Сергей (F L ) in .NET Talks🎄
Иметь прямой доступ к сердцу человека, плохая идея
источник

λР

λетучая Рыба... in .NET Talks🎄
Сергей (F L )
Композиция должна быть скрыта, и обьект без части какой то части существовать не может, пример сердце человека. А агрегация это что то, что может включать в себя обьект, и легко заменять, или отсутствовать без проблем к существованию, и функционала обьекта. думаю так
это только в русскоязычной терминологии так?
источник

λР

λетучая Рыба... in .NET Talks🎄
просто есть https://en.wikipedia.org/wiki/Composition_over_inheritance, о котором говорят и Симан, и Бугаенко и др. авторы
источник

λР

λетучая Рыба... in .NET Talks🎄
Сергей (F L )
Композиция должна быть скрыта, и обьект без части какой то части существовать не может, пример сердце человека. А агрегация это что то, что может включать в себя обьект, и легко заменять, или отсутствовать без проблем к существованию, и функционала обьекта. думаю так
в их контексте composition == агрегации в данной итерпретации, и противопоставляется наследованию соответственно
источник

С(

Сергей (F L ) in .NET Talks🎄
λетучая Рыба
это только в русскоязычной терминологии так?
Вообще нет. Почерпывал вдохновение из https://www.ozon.ru/context/detail/id/3905587/ этого примерно. Зависит от перевод.а
источник

С(

Сергей (F L ) in .NET Talks🎄
λетучая Рыба
просто есть https://en.wikipedia.org/wiki/Composition_over_inheritance, о котором говорят и Симан, и Бугаенко и др. авторы
Композиция если помню, темная стрелочка, там нет.
источник

λР

λетучая Рыба... in .NET Talks🎄
а, я понял
источник

λР

λетучая Рыба... in .NET Talks🎄
это просто другая терминология
источник

λР

λетучая Рыба... in .NET Talks🎄
в более широком смысле композиция есть объединение составных частей в единое целое (при этом бывает и композиция функций, и композиция объектов), в более узком смысле в контексте ООП композиция бьётся на композицию в другом смысле и агрегацию
источник

λР

λетучая Рыба... in .NET Talks🎄
источник

λР

λетучая Рыба... in .NET Talks🎄
источник

λР

λетучая Рыба... in .NET Talks🎄
Сергей (F L )
Композиция должна быть скрыта, и обьект без части какой то части существовать не может, пример сердце человека. А агрегация это что то, что может включать в себя обьект, и легко заменять, или отсутствовать без проблем к существованию, и функционала обьекта. думаю так
спасибо
источник

λР

λетучая Рыба... in .NET Talks🎄
т.е. фактически
class A : C { A() : base(new B()) { ... } } — композиция
class A : C { A(B b) : base(b) { ... } } — аггрегация
но при этом оба случая можно обозвать композицией объектов в широком смысле, сославшись на composition over inheritance
источник