Ich habe Klassen mit Methoden mit den gleichen Namen, die das gleiche tun, aber sie sind anders implementiert.Wie reformiere ich zwei Klassen mit ähnlicher Funktionalität?
Ex:
class converterA {
map(Item1 item1) {
// Implementation details.
}
convert(Item1 item1) {
// Implementation details.
}
translate(Item1 item1) {
// Implementation details.
}
}
class converterB {
map(Item2 item2) {
// Implementation details.
}
convert(Item2 item2) {
// Implementation details.
}
translate(Item2 item2) {
// Implementation details.
}
}
ich als eine Schnittstelle verwenden, aber das Problem ist, das heißt, dass die Verfahren in verschiedenen Parametern übernehmen. Eine Vorlage passt aber auch nicht genau, da Item1 und Item2 unterschiedlich funktionieren. Mit anderen Worten, sie haben keine gemeinsamen Methoden, daher passt eine Vorlage auch nicht genau.
Gibt es hier eine Lösung zum Refactoring des Codes?
Was möchten Sie in diesem Fall durch Refactoring erreichen? – dbugger
Ich habe mich nur gefragt, ob es eine Möglichkeit gibt, den Code zu verdichten oder eine Klasse im Interface-Stil zu haben, die erweitert werden kann, da die beiden Klassen eine ähnliche Funktionalität haben. – Interviewee