1) Prinzip der Einzelverantwortung
Reduzieren Sie die Komplexität der Klasse und verbessern Sie die Lesbarkeit der Klasse Die Wartbarkeit reduziert die durch Klassenänderungen verursachten Risiken. Nur die Klassenlogik ist einfach genug, um das Prinzip der Einzelverantwortung zu verletzen Das Prinzip kann auf Methodenebene beibehalten werden.
2) Schnittstellenisolationsprinzip
Der Client sollte sich nicht auf Schnittstellen verlassen, die er nicht benötigt; die Abhängigkeit einer Klasse von einer anderen Klasse sollte auf der kleinsten Schnittstelle basieren .
Empfohlene verwandte Video-Tutorials: kostenlose Java-Video-Tutorials
3) Prinzip der Abhängigkeitsinversion(Dependence Inversion Principle, DIP)
1. High-Level-Module sollten nicht von Low-Level-Modulen abhängen, beide sollten sich auf ihre Abstraktionen verlassen
2. Abstraktionen sollten nicht von Details abhängen
3 🎜>
4 Jede Logikimplementierung besteht aus atomarer Logik. Die unteilbare atomare Logik ist das Modul auf niedriger Ebene (normalerweise eine Schnittstelle, eine abstrakte Klasse), und die Baugruppe der atomaren Logik ist das Modul auf hoher Ebene. In der Java-Sprache bezieht sich Abstraktion auf Schnittstellen und/oder abstrakte Klassen, von denen keine direkt instanziiert werden kann. Details sind Implementierungsklassen. Die durch die Implementierung von Schnittstellen oder die Vererbung abstrakter Klassen generierten Klassen sind Details und können direkt instanziiert werden.4) Liskov-Substitutionsprinzip
Wenn es für jedes Objekt o1 vom Typ S ein Objekt o2 vom Typ T gibt, so dass alle mit T definierten Objekte alle sind Objekte o1 von Programm P werden durch o2 ersetzt, das Verhalten von Programm P ändert sich nicht, dann ist Typ S ein Untertyp von Typ T. Alle Verweise auf eine Basisklasse müssen in der Lage sein, Objekte ihrer Unterklassen transparent zu verwenden. Die zweite Definition ist für Laien die klarste: Solange die übergeordnete Klasse angezeigt werden kann, kann das Ersetzen durch eine Unterklasse keine Fehler oder Ausnahmen verursachen Sie müssen wissen, ob es sich um eine übergeordnete Klasse oder eine Unterklasse handelt. Das Gegenteil ist jedoch nicht der Fall, wenn Unterklassen auftreten. Die übergeordnete Klasse kann sich möglicherweise nicht anpassen. Versuchen Sie bei der Verwendung der Vererbung, die Methoden der übergeordneten Klasse nicht zu überschreiben.5) Open-Closed-Prinzip (ocp)
Eine Softwareeinheit wie eine Klasse, ein Modul und eine Funktion sollte für Erweiterungen offen und für Änderungen geschlossen sein. Die Softwareimplementierung sollte für Erweiterungen offen und für Änderungen geschlossen sein. Dies bedeutet, dass eine Softwareeinheit Änderungen durch Erweiterungen und nicht durch die Änderung von vorhandenem Code erreichen sollte.6) Das Demeter-Gesetz
ist auch als Prinzip des geringsten Wissens (LKP) bekannt. Es kann auch so ausgedrückt werden, dass ein Objekt das geringste Wissen über andere Objekte haben sollte Das heißt, eine Klasse sollte am wenigsten über die Klasse wissen, die sie koppeln oder aufrufen muss. 1. Sprechen Sie nur mit Ihren unmittelbaren Freunden (Sprich nur mit Ihren unmittelbaren Freunden) Welche Klassen zählen unter den Klassen als Freunde? Klassen, die in Mitgliedsvariablen und Eingabe- und Ausgabeparametern von Methoden vorkommen, werden als Mitglieds-Friend-Klassen bezeichnet. Die im Methodenkörper angezeigten Klassen gehören nicht zu Freundklassen. 2. Es gibt auch eine Distanz zwischen Freunden. Legen Sie diese nicht zu sehr offen, da sonst der Einflussbereich bei der zweiten Änderung zunimmt. Dies erfordert auch, dass öffentliche Methoden zwischen Klassen nicht skrupellos offengelegt werden können 3. Wenn sich eine Methode in einer Beziehung zwischen Klassen befindet, erhöht die Platzierung in einer eigenen Klasse weder die Beziehung zwischen Klassen noch hat dies Auswirkungen Wenn es negative Auswirkungen gibt, platzieren Sie es in einer eigenen Klasse. 4. Führen Sie Serialisierungsvorgänge für RMI (Remote Method Invocation) sorgfältig aus. Best Practice: Der Kern des Dimit-Gesetzes liegt in der Entkopplung zwischen Klassen. Die Wiederverwendungsrate wird nur schwach sein Zunahme. Das erforderliche Ergebnis besteht darin, eine große Anzahl von Transfer- oder Sprungklassen zu generieren.7) Prinzip der Synthese und Wiederverwendung
Das Prinzip der Synthese/Aggregation-Wiederverwendung besteht darin, einige vorhandene Objekte in einem neuen Objekt zu verwenden, um es zu einem neuen Objektteil zu machen; Neue Objekte erreichen den Zweck, vorhandene Funktionen wiederzuverwenden, indem sie an diese Objekte delegieren. Die Kurzbeschreibung lautet: Versuchen Sie, Zusammensetzung/Aggregation zu verwenden und versuchen Sie, keine Vererbung zu verwenden. Weitere verwandte Artikelempfehlungen:Erste Schritte beim Erlernen von Java
Das obige ist der detaillierte Inhalt vonHäufig verwendete Prinzipien in Java-Entwurfsmustern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!