Verwenden Sie beim Entwickeln von iOS-Apps Entwurfsmuster

Jede Disziplin des Ingenieurwesens verwendet während der Entwurfsphase eines Projekts eine Variation des Prozessflussdiagramms. Dieser Ansatz hilft dabei, potenzielle Probleme früh genug im Projekt zu erkennen, damit Ingenieure vor Baubeginn Änderungen vornehmen können. Das Software-Engineering teilt die gleichen Best Practices wie seine technischen Cousins.

Entwurfsmuster

Die Verwendung eines Entwurfsmusters zur Dokumentation der kreativen, strukturellen und Verhaltensmerkmale einer iOS-App bietet viele Vorteile. Die Trennung der Benutzeroberfläche von der Logik bietet beispielsweise die folgenden drei Vorteile:

  • Schnittstellen sind besser definiert und spezifischer für ein Gerät.
  • Apps werden anpassungsfähiger an sich ändernde Anforderungen. und
  • Objekte sind wiederverwendbar.
Durch die Trennung der Business-Schicht von der Präsentationsschicht können wir eine iOS-App effizienter ändern. Manchmal müssen Anpassungen oder Änderungen an einer App vorgenommen werden, um mit neuen Versionen von iOS-Software und neuen Geräten kompatibel zu bleiben. Es ist viel einfacher, eine iPad-App aus einem vorhandenen iPhone-Projekt zu erstellen, wenn das Projekt mithilfe von Entwurfsmustern entwickelt wurde. Wenn die Präsentationsschicht unabhängig von den Hauptmerkmalen und -funktionen des Programms wäre, könnte ein Entwickler einfach die Komponenten der Benutzeroberfläche anpassen und dabei die vorhandene Geschäftslogik wiederverwenden ( Abbildung A ).

Abbildung A.

Es gibt viele Entwurfsmuster, die von Softwareentwicklern verwendet werden können. Das Prinzip der Trennung von Bedenken (SoC) ist entscheidend für die Entwicklung skalierbarer Software. Einige der gängigen objektorientierten Entwurfsmuster folgen dem SoC-Entwurfsprinzip, indem sie Merkmale vom Verhalten trennen.

Hier ist eine kurze Liste der Entwurfsmuster, die von Softwareentwicklern verwendet werden:

  • Abstraktes Fabrikmuster
  • Adaptermuster
  • Objektmodellierungsmuster
  • Muster der Verantwortungskette
  • Befehlsmuster
  • Zusammengesetztes Muster
  • Dekorateur Muster
  • Fassadenmuster
  • Iteratormuster
  • Vermittlermuster
  • Erinnerungsmuster
  • Model-View-Controller-Muster
  • Beobachtermuster
  • Proxy-Muster
  • Rezeptionsmuster
  • Singleton-Muster
  • Muster der Vorlagenmethode

Entwurfsmuster werden in drei Kategorien unterteilt: Kreativ-, Struktur- und Verhaltensmuster.

  • Schöpfungsmuster werden speziell für die Erstellung von Objekten verwendet. Die abstrakte Fabrik und Singleton gelten als Schöpfungsmuster.
  • Strukturmuster werden verwendet, um Strukturen von Objekten zu definieren. Die Adapter-, Verbund-, Dekorations- und Proxy-Muster sind Arten von strukturellen Entwurfsmustern.
  • Verhaltensmuster identifizieren die Kommunikation zwischen Objekten. Die Verantwortungskette, der Befehl, der Iterator, das Andenken, der Beobachter und die Vorlagenmethode sind Beispiele für Verhaltensentwurfsmuster.

Welches Designmuster eignet sich am besten für die iOS-Entwicklung?

Bei der iOS-Programmierung kann die Nutzung eines Entwurfsmusters den Unterschied zwischen Markteinführungsgeschwindigkeit und fehlgeschlagener Markteinführung ausmachen. Während das Organisieren von Anforderungen und das Destillieren der Informationen in die Blaupausen Ihrer nächsten großartigen iOS-App etwas länger dauert, kann der Zeitaufwand für das Schreiben von Code erheblich reduziert werden.

Das MVC-Entwurfsmuster (Model-View-Controller) gilt als Eckpfeiler für die Entwicklung von iOS-Apps. Das MVC-Entwurfsmuster gilt nicht nur für die iOS-Entwicklung. Tatsächlich wurde MVC (wie einige andere Technologien, die wir heute verwenden) in den 1970er Jahren von Xerox Parc konzipiert.

Das MVC-Entwurfsmuster besteht aus drei Teilen: Modell, Ansicht und Steuerung. Das Modell enthält Daten, Informationen, Logik oder Objekte, die als Teil der Geschäftsschicht einer iOS-App betrachtet werden. Die Ansicht enthält alle Benutzerinformationskomponenten wie Textbereiche, Schaltflächen und Schieberegler, die als Präsentationsebene einer iOS-App betrachtet werden. Der Controller ist die Verbindung oder Kommunikationsschicht einer iOS-App. Ein Modell wird niemals direkt mit einer Ansicht kommunizieren und umgekehrt. Der Controller verbindet das Modell mit der Ansicht, indem er die gesamte Kommunikation übernimmt.

Benutzeraktionen werden in einer Ansicht ausgeführt, z. B. durch Klicken auf eine Schaltfläche. Die Ansicht sendet die Nachricht an eine Steuerung. Bei Bedarf kommuniziert die Steuerung mit dem Modell. Der Controller gibt Informationen an die Ansicht zurück. Am Beispiel einer hypothetischen Taschenrechner-App würde das MVC-Entwurfsmuster folgendermaßen angewendet:

  • Modell - Berechnungsfunktionen (Addieren, Subtrahieren, Multiplizieren, Dividieren).
  • Ansicht - Komponenten der Benutzeroberfläche (Operanden- und Bedienerschaltflächen, Berechnungstext).
  • Controller - Objekte, die Informationen zum und vom Modell und zur Ansicht abhören und kommunizieren. Wenn beispielsweise die Schaltfläche "Gleich" ausgewählt ist, fordert der Controller das Modell auf, die Berechnung durchzuführen. Das Modell gibt die Antwort an den Controller zurück, der die Ergebnisse umgehend an die Ansicht übermittelt. Die Ansicht ist für die Anzeige der Antwort verantwortlich. ( Abbildung B )
Abbildung B.

Endeffekt

Das Das Programmierhandbuch für iOS-Apps und das Apple-Tutorial zur Entwicklung von iOS-Apps von heute empfehlen jedem Entwickler, die Entwurfsmuster für MVC, Delegation und Zielaktion zu lernen. Das Delegierungsmuster basiert auf dem Konzept eines Objekts, das im Namen eines anderen handelt, während Target-Action ein Entwurfsmuster ist, in dem ein Objekt Informationen speichert, die an ein bestimmtes Objekt gesendet werden, wenn ein bestimmtes Ereignis eintritt. Diese drei Entwurfsmuster gelten als grundlegende Bausteine ​​für die Entwicklung von iOS-Apps.

Hinweis: Dieser Artikel wurde ursprünglich im November 2012 in unserem iOS App Builder-Blog veröffentlicht.

Lesen Sie auch auf TechRepublic

  • Aus Designmustern ausbrechen
  • Best Practices für die Entwicklung mobiler Anwendungen (überarbeitet)

© Copyright 2021 | mobilegn.com