Alle abstrakten Klassen müssen Basisklassen sein. mehr
Bevorzuge für die Deklaration von Variablen und Parametern Schnittstellen gegenüber Klassen. mehr
Abstraktionen sollten nicht von Details abhängen. Details sollten von Abstraktionen abhängen. mehr
Entwerfe auf eine Schnittstelle hin und nicht auf eine Klasse. mehr
Für eine Klasse sollte es stets nur einen Grund geben, sich zu ändern. mehr
Sagen Sie Ihren Objekten, was zu tun ist, anstatt ihnen Löcher in den Bauch zu fragen. mehr
Siedle gemeinsame Daten und Verhaltensweisen und/oder die Schnittstelle einer Klasse in der Vererbungshierarchie so weit oben wie nur möglich an. mehr
Vererbung sollte ausschliesslich zur Modellierung von Spezialisierungs-Hierarchien verwendet werden. mehr