Eignet sich die Android-UI-Entwicklung gut für ein bestimmtes Designmuster?

8

Eignet sich die Android-Plattform für einen bestimmten Stil der UI-Programmierung wie MVC oder MVP? Der Großteil meiner UI-Erfahrung ist mit Spaghetti-Code auf einem sehr alten Embedded-Gerät oder in GWT mit MVP, so dass ich nicht weiß, wo ich anfangen soll.

    
benstpierre 23.02.2010, 19:20
quelle

2 Antworten

2

Ich weiß nicht, ob sich das Android gut für ein spezifisches Designmuster eignet, wenn es um die UI-Entwicklung per se geht, Sie können sicherlich ein bestimmtes Muster verwenden, wenn es hilft.

Im Zweifelsfall können Sie die standardmäßigen Richtlinien für Benutzeroberflächen und sehen Sie, welche Richtlinien für bestimmte Interaktionen gelten.

    
Anthony Forloney 23.02.2010, 19:34
quelle
14

Das MVC-Muster ist mehr oder weniger vorgebaut in Android.

Sie haben drei Ebenen bestehend aus:

  • Das Modell Ihre Datenklassen, Inhaltsanbieter usw., die alle Ihre Daten enthalten.
  • Die Controller Behandeln Sie alle Ihre Aktivitäten als Controller-Klassen. Tue nichts in ihnen, das wie Geschäftslogik oder Datenpersistenz aussieht. Reagieren Sie einfach auf Ereignisse vom Modell oder vom Benutzer und leiten Sie sie an die richtige Ebene weiter.
  • Die Ansicht Oft werden die Aktivitäten als Ansicht bezeichnet, da dort der Java-Code am nächsten zu den Ansichten ist. Aber meiner Meinung nach ist der View-Layer in Android meist in XML definiert. Sie definieren Ihre Schaltflächen, Bilder, Statusänderungen usw. in XML und verbinden sie dann über Ihre Aktivitäten mit Ihrer Anwendung.

Es gibt einige einfache Regeln, um eine grundlegende Trennung dieser Schichten zu erhalten.

  • Definieren Sie so viel von Ihrer Benutzeroberfläche nur in XML instantiate Views selbst wenn dort ist kein anderer Weg, etwas zu erreichen, Verändern Sie nicht den grafischen Zustand von Aufrufe aus Code, zum Beispiel nicht Ändern Sie den Hintergrund einer Schaltfläche, wenn Der Button ist deaktiviert, oder der Farbe einer Schrift, wenn eine Schaltfläche war geklickt, alles durch Stateful machen Drawables und Selektoren in XML.
  • Führen Sie keine Datenspeicherung oder Logik durch Ihre Aktivitätsklassen. Anruf zu extra Modellklassen für diesen Zweck. Dies macht deine Aktivitäten sauber und kurz
  • Wenn Sie Ihre Daten ändern möchten, denken Sie über einen vollen gehen Controller ändert Modell - & gt; Modell- informiert den Controller über Änderungen - & gt; Der Controller ändert den UI-Zyklus anstelle des Controllers Ändern Sie das Modell und die Benutzeroberfläche direkt weil andere Beobachter der Modi kann nicht gemeldet werden.
Janusz 07.10.2010 15:00
quelle