Nehmen wir an, wir haben 10 Arten von Auto: Bmw, Reno usw. Und wir haben Repo. So gibt es zwei Möglichkeiten für die API von Repo Entwicklung:Java: Wann Generika-Methode zu verwenden und wann explizite Methode
Der erste Weg:
class Repo{
public <T extends Car> T getCarByType(Class<T> clazz){..}
}
Der zweite Weg:
class Repo{
public Bmw getBmw(){..}
public Reno getReno(){..}
...
}
Zuerst dachte ich, dass ich den ersten Weg folgen sollte, wie es lässt Schreibe weniger Code und -> es ist besser für die Unterstützung. Und außerdem dachte ich, dass, wenn ich 20 Arten von Autos habe, der erste Weg offensichtlicher Vorteil ist (weniger Code).
Allerdings, wie die Zahl der Autos wächst - Sie beginnen zu vergessen, welches Auto Sie haben. Wenn Sie dem zweiten Weg folgen - Sie haben eine klare API des Repos und der Typen.
Also, könnte jemand erklären, wann welche Methode zu verwenden?
Wie wäre es mit 'öffentlichen Auto getCar()'? Dies würde die Anrufer ermutigen, vom Autotypus unabhängig zu sein, was den Code für zukünftige Autotypen erweiterbar macht. –
Das ist nicht wirklich eine gute SO Frage, da es nicht wirklich eine spezifisch beantwortbare Programmierfrage enthält, zumindest, wie gerade gesagt. Außerdem heißt es "Renault". – pvg
Was ist ein Reno? – njzk2