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