Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Natalia Terlecka
Mariana Berga

Min Read

14. März 2023

Die Vor- und Nachteile von OOP

Objektorientierte Programmierung wurde in den 90er Jahren zum dominierenden Programmierparadigma, und seine Prinzipien sind nach wie vor äußerst wertvoll und werden von mehreren Programmiersprachen weithin übernommen (z. B. Python, Java, TypeScript usw.). Wenn Sie programmieren, müssen Sie es auf Ihrem Weg schon einmal getroffen haben.

Das Konzept ist sehr einfach: verwandle alles, womit du arbeiten musst, in ein Objekt. Dann liegt es an Ihnen, wie viele und welche Art von Objekten Sie erstellen. Heute möchte ich mit Ihnen teilen, was ich über die Aufteilung der App-Architektur in Objekte gelernt habe, beginnend mit einer kurzen Einführung in die objektorientierte Programmierung (OOP).

blue arrow to the left
Imaginary Cloud logo

Was ist objektorientierte Programmierung (OOP)?

Es ist ein Programmierparadigma, das ein Softwareprogramm nach Objekten strukturiert. Einfach ausgedrückt, es erstellt Objekte, die Funktionen und Daten enthalten. Dieses Paradigma stützt sich stark auf das Konzept von Klassen und Objekte.

Mit anderen Worten, in einer OOP-Sprache wird Code geschrieben, um die Klassen und die jeweiligen Objekte zu definieren, indem vier Prinzipien befolgt werden: Kapselung, Abstraktion, Vererbung und Polymorphie.

blue arrow to the left
Imaginary Cloud logo

Prinzipien der objektorientierten Programmierung

Suchen Sie irgendwo anders im Internet und Sie werden schnell eine Liste von Prinzipien finden, die mit OOP verknüpft sind. Diese sind: Verkapselung, Abstraktion, Vererbung und Polymorphie. Schauen wir uns an, was diese Prinzipien tatsächlich bedeuten:

  • Verkapselung: Die Attribute einer Entität sind in sich selbst eingeschlossen. Mit anderen Worten, eine Kapselung liegt vor, wenn ein Objekt (innerhalb einer Klasse) seinen Status privat hält und nur die ausgewählten Informationen verfügbar macht. Dieses Prinzip erfordert die Fähigkeit, einige Felder entweder als privat oder öffentlich zu definieren.
  • Abstraktion: verstecken Sie wichtige Informationen, um die Komplexität zu reduzieren. Dies ist der Fall, wenn der Benutzer nur mit den Methoden und/oder Attributen eines bestimmten Objekts interagiert. Indem komplexe Details vor dem Benutzer verborgen werden, reduziert die Abstraktion folglich die Komplexität.
  • Erbschaft: wie der Name schon sagt, kann eine Entität Attribute von anderen Entitäten erben. Genauer gesagt können übergeordnete Klassen ihre Attribute und Verhaltensweisen auf untergeordnete Klassen ausdehnen, was auch bedeutet, dass dieses Prinzip die Wiederverwendbarkeit unterstützt.
  • Polymorphismus: Entitäten können mehr als eine Form haben. Daher der „Poly“. Zusammenfassend lässt sich sagen, dass Polymorphie entsteht, wenn Objekte so konzipiert sind, dass sie dasselbe Verhalten aufweisen. Durch Überschreiben oder Überladen kann dieselbe Methode unterschiedliche Verhaltensweisen ausführen.

The four OOP Principles

Dies ist jedoch nicht der Punkt, an dem ich mich auf diesen Artikel konzentrieren werde. Zumindest nicht in der wissenschaftlicheren Version der Prinzipien der objektorientierten Programmierung. Hier findest du mehr praktisches Wissen über objektorientierte Programmierung und echte Einblicke, wie du dich in der Kunst der alles in ein Objekt verwandeln. Am Ende dieses Artikels wird völlig klar sein, warum das für jeden relevant ist, der da draußen programmiert.

blue arrow to the left
Imaginary Cloud logo

Die Vor- und Nachteile von OOP

1. Hab keine Angst davor, zu viele Klassen zu erstellen

In meiner Programmiererfahrung werde ich mich immer an den Tag erinnern, an dem ich eines dieser großen Projekte geöffnet habe und die Menge der darin enthaltenen Dateien einfach überwältigend war. Da dachte ich: Das ist unmöglich zu verstehen. Das Konzept, aus einer einfachen Idee eine riesige Menge an Dateien zu machen, scheint übertrieben, ist es aber sehr oft nicht.

Für mich lautet die Frage, die ich mir beim Entwerfen der App-Architektur am häufigsten stelle: „Sollte ich dafür ein Objekt erstellen?“ Und meistens lautet die Antwort einfach:

Ja, das sollte ich.

Am Ende es ist viel einfacher, 10 Dateien mit verschiedenen Objekten zu lesen, deren Namen ihre Funktion repräsentieren, als einen riesigen Codestapel das macht alles. Das einzige Problem dabei ist, die große Menge an Dateien, die Sie erstellen, in einer Struktur zu organisieren, die leicht zu verstehen ist und die Sie nach Personen durchsuchen können, die Ihre Arbeit später fortsetzen könnten.

Als iOS-Entwickler, ich folge dem, was die meisten iOS-Entwickler verwenden, nämlich MVC-Modell, und ich versuche immer, Dateien zu organisieren Ordner anstatt sie einfach alle an einem Ort abzulegen.

2. Verwenden Sie mehr Unterklassen

Anstatt eine Klasse zu erstellen und ihr eine Reihe von Eigenschaften und Aufzählungstypen zur Konfiguration zuzuweisen, sollten Sie sich überlegen, ob es nicht besser wäre, diese einfach in elegante zu unterteilen Unterklassen zur leichteren Identifizierung von dem, was sie tatsächlich tun, wobei die Basisversion generisch genug bleibt, um sie später weiter zu skalieren.

3. Machen Sie Objekte generisch

Eine der Schönheiten der objektorientierten Programmierung ist, dass die Klassen für die Objekte, die Sie erstellen, können in anderen Projekten wiederverwendet werden, was eine enorme Zeitersparnis ist. Denken Sie darüber nach, wenn Sie Objekte erstellen und sie generisch gestalten. Der Subclassing-Ansatz kann Ihnen dabei definitiv helfen.

Es ist besser, die zu verwaltende Klasse zu trennen API-Aufrufe oder In-App-Käufe für das generische Programm, das Sie in Ihren Projekten verwenden können, und unterteilen Sie es mit einem bestimmten Projekt, das Ihnen die benötigten Daten abruft.

4. Reißen Sie keine Gegenstände auseinander

Manchmal muss ich eine Methode erstellen, bei der viele Eigenschaften weitergegeben werden müssen. Ich möchte nicht nach jedem einzeln fragen, also habe ich beschlossen, sie alle in ein Wörterbuch oder ein Array zu packen und zu übergeben.

Es scheint praktisch genug zu sein, ist es aber nie.

Einen Monat später komme ich darauf zurück, oder schlimmer noch, jemand anderes versucht es zu benutzen und es fällt ihnen wirklich schwer, die Eigenschaften genau so zusammenzusetzen, wie ich es getan habe, und vielleicht verbringen sie sogar einige Zeit damit, zu debuggen, warum eines davon unterwegs als Null wahrgenommen wird.

Am Ende es ist viel einfacher, das gesamte Objekt zu übergeben zu dem die Immobilien gehören, auch wenn es viel mehr hat, als Sie benötigen. Diese Lösung auch skaliert besser weil Sie nie wissen, wann Sie den gesamten Objektkontext benötigen, auch wenn Sie nur mit einem kleinen Teil davon beginnen.

All die Programmiersprachen Ich weiß, dass sie objektorientiert sind, und dennoch finde ich immer wieder verschiedene Wege, um diese einfache Frage zu beantworten: welche Art von Objekten sollte das repräsentieren? Die Menge an Möglichkeiten mag eine Herausforderung darstellen, wenn es um objektorientierte Programmierung geht, aber die Alternative, sie nicht zu verwenden, ist weder praktikabel noch wünschenswert.

blue arrow to the left
Imaginary Cloud logo

Fazit

Das Paradigma der objektorientierten Programmierung konzentriert sich auf Objekte und wie diese Objekte interagieren. Es erfordert, dass der Entwickler die Codierung im Voraus plant, was zu besseren Ergebnissen führt Datenstruktur und ermöglicht Wiederverwendbarkeit.

Dieses Paradigma beinhaltet vier Hauptprinzipien (Kapselung, Vererbung, Polymorphie und Abstraktion), die bei der Entwicklung einer objektorientierten Software befolgt werden müssen.

Wenn OOP implementiert ist, werden einige der beste Empfehlungen Entwickler können sich bewerben:


1. Erstelle so viele Klassen wie nötig;

2. Verwenden Sie mehr Unterklassen;

3. Objekte generischer machen;

4. Reißen Sie keine Gegenstände auseinander.

Grow your revenue and user engagement by running a UX Audit! - Book a call

Fanden Sie diesen Artikel hilfreich? Diese könnten dir auch gefallen!

blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
Natalia Terlecka
Natalia Terlecka

Ein erfahrener iOS-Entwickler, der Teil eines agilen iOS-Teams ist und Einzelpersonen dabei unterstützt, ihre Träume und Ziele zu verwirklichen.

Read more posts by this author
Mariana Berga
Mariana Berga

Marketing-Praktikant mit besonderem Interesse an Technologie und Forschung. In meiner Freizeit spiele ich Volleyball und verwöhne meinen Hund so gut es geht.

Read more posts by this author

People who read this post, also found these interesting:

arrow left
arrow to the right
Dropdown caret icon