Heim Java JavaErste Schritte Häufig verwendete Prinzipien in Java-Entwurfsmustern

Häufig verwendete Prinzipien in Java-Entwurfsmustern

Nov 25, 2019 pm 04:22 PM
java 原则 设计模式

Häufig verwendete Prinzipien in Java-Entwurfsmustern

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

See all articles