我有两条平行的继承链:Vehicle我的经验是,随着并行继承层次结构的增长,它们可能会成为维护方面的难题。即不向我的主体类添加toXML()、toSoap()、toYAML()方法。如何在不破坏关注点分离概念的情况下避免并行继承层次结构? 最佳答案 我正在考虑使用访问者模式。publicclassCar:Vehicle{publicvoidAccept(IVehicleFormatterv){v.Visit(this);}}publicclassTruck:Vehicle{publicvoidAccept(IVehicleForma
我有两条平行的继承链:Vehicle我的经验是,随着并行继承层次结构的增长,它们可能会成为维护方面的难题。即不向我的主体类添加toXML()、toSoap()、toYAML()方法。如何在不破坏关注点分离概念的情况下避免并行继承层次结构? 最佳答案 我正在考虑使用访问者模式。publicclassCar:Vehicle{publicvoidAccept(IVehicleFormatterv){v.Visit(this);}}publicclassTruck:Vehicle{publicvoidAccept(IVehicleForma