При разработке моих объектов я считаю, что композиция является лучшим выбором с точки зрения проверяемости. Причина в том, что я могу высмеять части структуры композиции, если мне нужно, во время выполнения модульных тестов. Это невозможно, если у меня есть иерархия наследования.
Я хотел бы знать, считают ли другие это причиной предпочтения композиции. Кроме того, какие другие ловушки, связанные с тестируемостью, вы получили, потому что наследование было использовано?