Sollte jedes einzelne Objekt eine Schnittstelle haben und alle Objekte lose gekoppelt sein?

Wovon ich Best Practice gelesen habe, ist es, Klassen basierend auf einer Schnittstelle zu haben und die Objekte lose zu koppeln, um die Wiederverwendung von Code und den Komponententest zu erleichtern.

Ist das richtig und ist es eine Regel, die immer befolgt werden sollte?

Der Grund, den ich frage, ist, dass ich kürzlich an einem System mit 100 sehr unterschiedlichen Objekten gearbeitet habe. Ein paar gemeinsame Schnittstellen, aber die meisten nicht und fragen sich, ob es eine Schnittstelle geben sollte, die alle Eigenschaften und Funktionen in diesen Klassen widerspiegel

Ich benutze C # und dot net 2.0, aber ich glaube, diese Frage würde für viele Sprachen passen.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage