Ну, вы могли бы быть хорошим примером.Все ваши объекты могли бы реализовать IDisplayable с его методом Display.
И DisplayContainer мог бы быть набором IDisplayable.
Утка - это птица, утка может летать. Страус - птица, Страус - не может летать.птица, но может летать.
Так что, если вы внедрите Fly on Bird, вы должны сказать, что самолет - это птица .... Если вы внедрите Fly на FlyingThingy, вы должны сказать, что страус - это летающая вещь...
Если вы создадите интерфейс IFlier, а затем внедрите его для утки и самолета, теперь ваше описание будет точным.Я выбрал довольно очевидные классы здесь, но когда вы углубляетесь в чужой код или даже в свой собственный после нескольких месяцев занятий чем-то другим, чтение самолета - это птица или Страус. Флай сбивает вас с ног..