vitando hierarquias de herança parale

Tenho duas cadeias de herança paralelas:

Vehicle <- Car
        <- Truck <- etc.

VehicleXMLFormatter <- CarXMLFormatter
                    <- TruckXMLFormatter <- etc.

minha experiência foi que hierarquias de herança paralela podem se tornar uma dor de cabeça de manutenção à medida que cresce

i.e. NÃO adicionandotoXML(), toSoap(), toYAML() métodos para minhas principais classe

Como evitar uma hierarquia de herança paralela sem quebrar o conceito de separação de interesses?

questionAnswers(6)

yourAnswerToTheQuestion