


Beispielcode, der die offenen und geschlossenen Prinzipien von Java-Entwurfsmustern kurz vorstellt
Dieser Artikel stellt hauptsächlich das offene und geschlossene Prinzip von Java vorDer Herausgeber findet es ziemlich gut. Jetzt werde ich es mit Ihnen teilen und als Referenz geben. Folgen wir dem Herausgeber und werfen wir einen Blick darauf 🎜>kann Bemerkenswert sein. Aber manche Orte sind einschüchternd und manche Codes sind aufgebläht und schwer einzuhalten, was die Menschen unwürdig macht. Daher wurde, basierend auf dem offenen und geschlossenen Prinzip von Java, ein Teil des Codes überarbeitet und optimiert.
Sehen wir uns zunächst den alten Code des vorherigen Systems an
ShareChannelManager.javashareChannel Diese Methode trägt den Hauptlink des Kanallogik teilen. Der für verschiedene Kanäle freigegebene Code ist in der Methode einer Klasse geschrieben, die sehr aufgebläht und schwer zu warten ist. Jedes Mal, wenn Sie einen Freigabekanal hinzufügen, müssen Sie diese schwergewichtige Methode ändern. Wenn Ihre Hände leicht zittern und Sie einen Fehler machen, hat dies Auswirkungen auf das Teilen auf anderen
Kanälen. Gleichzeitig verstößt es auch gegen das offene und geschlossene Prinzip von Java.Stellen Sie das offene und geschlossene Prinzip von Java vor
public ResultDO<String> shareChannel(int shareCode) { if(ShareCodeUtil.share2A(shareCode)) { // TODO, 分享到A渠道的业务逻辑代码 } if(ShareCodeUtil.share2B(shareCode)) { // TODO, 分享到B渠道的业务逻辑代码 } ...渠道n... }
zukunftsorientiert und skalierbar gestalten können, sind technische Punkte, die wir bei der täglichen Entwicklung berücksichtigen müssen. Kurz gesagt, das offene und geschlossene Prinzip von Java weist zwei Merkmale auf.
– Offen für Verlängerung
– Geschlossen wegen Änderungen
- Basierend auf der
Designprinzipien
oben erwähnt, wie man die oben genannten Probleme optimieren kann besteht darin, mehrere Sharing-Kanäle zu Kettenanrufen zu kombinieren. Abstrahieren Sie Sharing-Aktionen und verteilen Sie sie zur Umsetzung an verschiedene Kanäle.
Kette des Freigabekanals definieren
Übergeordnete Klasse des Freigabekanals definieren
Eine Kanalfreigabepublic class ShareChannelChain { private final Logger LOG = LoggerFactory.getLogger(this.getClass()); /** * 分享渠道链 */ private List<ShareChannel> shareChannels; public ResultDO<String> share(int shareCode) { for (ShareChannel s : shareChannels) { ResultDO<String> r = s.share(shareCode); } }
B-Kanal-Freigabe
public interface ShareChannel { public ResultDO<String> share(int shareCod); }
Fügen Sie AChannel und BChannel zu einer Anrufkette ShareChannelChain zusammen.
Channel Sharing Mainpublic class AChannel implements ShareChannel { @Override public ResultDO<String> share(int shareCode) { // TODO 分享A渠道逻辑 } }
ShareChannelManager.java
public class BChannel implements ShareChannel { @Override public ResultDO<String> share(int shareCode) { // TODO 分享B渠道逻辑 } }
<bean id="AChannel" class="com.test.AChannel"> </bean> <bean id="BChannel" class="com.test.BChannel"> </bean> <bean id="shareChannelChain" class="com.test.ShareChannelChain"> <property name="shareChannels"> <list> <ref local="AChannel"/> <ref local="BChannel"/> </list> </property> </bean>
Angenommen, es gibt einen neuen Kanal zum Teilen von Geschäftsanforderungen, CChannel, denken Sie über die Punkte nach, die wir ändern möchten. Diesmal besteht keine Notwendigkeit, die Kernklassenlogik von ShareChannelManager zu ändern. Sie müssen lediglich einen CChannel erweitern, die Share-Methode der ShareChannel-Schnittstelle implementieren und ihn dann in XML konfigurieren. Das Risiko einer solchen Änderung kann kontrolliert werden und hat keinen Einfluss auf die Kernklassenlogik.
Das obige ist der detaillierte Inhalt vonBeispielcode, der die offenen und geschlossenen Prinzipien von Java-Entwurfsmustern kurz vorstellt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





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

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.

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

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.

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

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.

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

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.
