Untersuchen Sie Schnittstellengestaltungen
- 5 Minuten
Angenommen, es gibt viele Programmierer, die ein Bibliotheksverwaltungssystem entwickeln, und zwei Programmierer werden mit der Verwaltung von ausleihbaren Büchern beauftragt. Mahmud, einer der Programmierer, entwirft eine Klasse BorrowableBook, die Methoden zum Ausleihen und Zurückgeben von Büchern enthält. Mahmud erstellt eine Methode namens Borrow, mit der Benutzer ein Buch ausleihen können, und eine weitere Methode namens Return zum Zurückgeben. Diese Methoden stellen sicher, dass die Verfügbarkeit des Buchs ordnungsgemäß nachverfolgt wird und dem Benutzer klares Feedback gibt.
Yara, eine andere Entwicklerin, weiß nicht, woran Mahmud arbeitet. Yara erstellt eine ähnliche Klasse, verwendet jedoch unterschiedliche Benennungskonventionen, wie z. B. Checkout und GiveBack. Diese Inkonsistenz kann für andere Programmierer, die am Projekt arbeiten, Verwirrung und Frustration verursachen, da sie verschiedene Methodennamen für ähnliche Funktionen erlernen müssen.
Wenn Methoden für die Verwaltung von Büchern konsistent definiert werden, können Programmierer schnell lernen, wie sie verwendet werden. Sie müssen nicht jedes Mal, wenn sie auf einen neuen Kurs stoßen, ein Buch ausleihen oder zurückgeben. Durch das Einrichten von Codestandards im Vorfeld können Sie den Projektcode vereinfachen und die Verwaltung vereinfachen.
Codierungsstandards
Mit Codestandardisierung ist die Erstellung und Einhaltung von Programmierregeln gemeint. Diese Regeln sorgen dafür, dass der Code konsistent bleibt und im gesamten Projekt problemlos gelesen werden kann. Wenn alle die gleichen Regeln befolgen, ist es für Programmierer*innen einfacher, den Code der jeweils anderen Programmierer*innen zu verstehen und mit ihm zu arbeiten. Standardisierung trägt außerdem dazu bei, Fehler zu vermeiden, die Qualität des Codes zu verbessern und die Überprüfung auf Fehler im Code zu beschleunigen.
Mithilfe von Schnittstellen kann eine Codestandardisierung etabliert werden, da Schnittstellen als Verträge für den Code fungieren. Durch Definieren einer Schnittstelle legen Sie fest, dass jede Klasse, die diese Schnittstelle verwendet, über bestimmte Methoden und Eigenschaften verfügen muss. Die Verwendung von Schnittstellen kann auch dazu beitragen, eng gekoppelten Code zu verhindern, was eine bessere Einhaltung von Entwurfsstandards ermöglicht.
SOLID Designprinzipien
SOLID ist ein Akronym für fünf Entwurfsprinzipien der objektorientierten Programmierung, und Schnittstellen sind ein entscheidendes Element dieser Prinzipien. Die SOLID-Entwurfsprinzipien umfassen Folgendes:
Einzelverantwortungsprinzip (Single Responsibility Principle, SRP): Eine Klasse sollte sich auf eine klare Aufgabe konzentrieren und sie vollständig behandeln. Daher sollte sich eine Klasse nur aus einem bestimmten Grund ändern.
Open/Closed Principle (OCP):Eine Klasse sollte für erweiterungsoffen, aber für Änderungen geschlossen sein. Mit anderen Worten: Es muss möglich sein, einer Klasse neue Funktionen hinzuzufügen, ohne den vorhandenen Code zu ändern.
Liskov Substitution Prinzip (LSP): Subtypen sollten für ihre Basistypen substituierbar sein. Mit anderen Worten: Wenn ein Programm für die Arbeit mit einem bestimmten Objekttyp geschrieben wurde, muss dieser durch jeden Untertyp dieses Objekts ersetzbar sein, ohne Fehler zu verursachen.
Schnittstellentrennungsprinzip (Interface Segregation Principle, ISP): Klassen sollten nicht gezwungen werden, von Schnittstellen abhängig zu sein, die sie nicht verwenden. Stattdessen müssen Schnittstellen so konzipiert werden, dass sie nur die von Klassen benötigten Funktionen bereitstellen.
Dependency Inversion Principle (DIP): Anstelle von Klassen, die von anderen Komponenten direkt abhängig sind, sollten sie stattdessen von Schnittstellen oder abstrakten Klassen abhängen, die das erforderliche Verhalten definieren. Die Abstraktion der Verhaltensdefinition ermöglicht eine größere Flexibilität und Modularität in einem Projekt, da Änderungen an einer Komponente die anderen nicht beeinflussen.
Durch die Einhaltung dieser Prinzipien können Entwickler*innen Software erstellen, die einfacher zu ändern, zu testen und zu pflegen ist – mit lockerer Kopplung und besserer Kohäsion zwischen Komponenten. Die SOLID-Prinzipien sind in der objektorientierten Programmierung weit verbreitet und gelten als bewährte Methode in der Softwareentwicklung.
Wählen Sie die beste Antwort für jede der folgenden Fragen aus.