> -- Илья Ермаков писал(а):
> Да, композиция позволяет что угодно.Если какая-то система выступает в двух ролях, то значит, в ней есть подсистемы, ответственные за эти роли. Делим на части.Вообще, наличие у класса больше 6-7 методов (не считая банальных Get-Set) позволительно только для классов очень широкого применения. А уж больше 10 (как правило) - признак нездорового проектирования. Когда недоделана декомпозиция.
1. При использовании композиции вместо наследования не выполняется принцип подстановки.
2. Когда "стряпается" новый тип данных, то операций бывает довольно много. Вон деньги: почти все операции, кроме умножения.