Ich stimme zu, dass die Programmierung gegen Schnittstellen eine gute Übung ist. In den meisten Fällen in Java bedeutet "Schnittstelle" in diesem Sinne die Sprachkonstrukt-Schnittstelle, so dass Sie eine Schnittstelle und eine Implementierungsklasse schreiben und dass Sie die Schnittstelle anstelle der Implementierungsklasse die meiste Zeit verwenden.Programmierung mit Interfaces: Schreiben Sie Interfaces für alle Ihre Domain-Klassen?
Ich frage mich, ob dies eine gute Praxis für das Schreiben von Domänenmodellen ist. Also, zum Beispiel, wenn Sie eine Domain-Klasse Kunde und jeder Kunde eine Liste von Aufträgen haben, würden Sie allgemein auch Schnittstellen ICustomer und IOrder schreiben. Und würde der Kunde auch eine Liste von Instruktionen anstelle von Bestellungen haben? Oder würden Sie Schnittstellen im Domänenmodell nur dann verwenden, wenn sie tatsächlich von der Domäne gesteuert werden, z. Sie haben mindestens zwei verschiedene Arten von Bestellungen? Mit anderen Worten: Würden Sie Schnittstellen nur aufgrund von technischen Anforderungen im Domänenmodell verwenden oder nur dann, wenn dies in Bezug auf die tatsächliche Domäne wirklich angemessen ist?
Was ist mit diesem Präfix auf Schnittstellennamen? Seit wann war es in Ordnung, die ungarische Notation zu benutzen? – grom
@grom - Ich hasse es, das auch in Java-Code zu sehen. Es ist eine Konvention von Microsoft COM-Programmierung. –
Sie hassen es in Java zu sehen, aber wie in anderen Sprachen wie C#? Das macht keinen Sinn ... Ich finde es tatsächlich nützlich, wenn ich auf unbekannten Code schaue. Ich kann auf einen Blick sagen, was eine Schnittstelle ist und was eine konkrete Implementierung ist (besonders wenn sie Impl am Ende hinzufügen, welches die Konvention ist, an der ich arbeite) – hhafez