
kontaktiere uns


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).
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.
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:
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.
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.
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.
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.
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.
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.
Ein erfahrener iOS-Entwickler, der Teil eines agilen iOS-Teams ist und Einzelpersonen dabei unterstützt, ihre Träume und Ziele zu verwirklichen.
Marketing-Praktikant mit besonderem Interesse an Technologie und Forschung. In meiner Freizeit spiele ich Volleyball und verwöhne meinen Hund so gut es geht.
People who read this post, also found these interesting: