Frage

Unter der Annahme, die Sie eine User Story implementieren, die Veränderungen in allen Schichten von UI (oder Service-Fassade) zu DB erfordert.

In welche Richtung bewegen sich Sie?

  • UI-to-Business Layer Repository DB?
  • DB-to-Business Layer Repository UI?
  • Es hängt davon ab. (Auf was?)
War es hilfreich?

Lösung

Die beste Antwort, die ich auf diese Art von Frage gesehen habe wurde von dem Atomic Object Jungen und ihre Presenter Erste Muster. Im Grunde ist es eine Implementierung des MVP-Muster, in denen (wie der Name schon sagt) Sie anfangen zu arbeiten vom Presenter.

Dies bietet Ihnen eine sehr leichte Aufgabe (da der Moderator ist im Grunde gibt die Daten vom Modell zur Ansicht Marschall und Ereignisse aus der Sicht auf das Modell), die direkt um Ihre Benutzeraktionen modellieren können. Wenn auf dem Presenter arbeiten, werden die Ansicht und Modell typischerweise als Schnittstellen definiert, und verspottet, so dass Ihr Fokus liegt zunächst auf der Definition, wie der Benutzer mit Objekten interagiert.

Ich mag generell auf diese Weise arbeiten, auch wenn ich nicht ein strenges MVP-Muster mache. Ich finde, dass auf Benutzerinteraktion mit Schwerpunkt hilft mir Business-Objekte zu erstellen, die einfacher zu interagieren. Wir verwenden auch Fitnesse im Haus für Integrationstests, und ich finde, dass die Geräte für Fitnesse Schreiben während Gebäude aus meiner Business Objects hilft, die Dinge auf der Perspektive des Benutzers fokussiert halten der Geschichte.

ich zu sagen habe, aber, dass Sie mit einem ziemlich interessant TDD-Zyklus am Ende, wenn Sie mit einem fehlerhaften Fitnesse Test zu starten, erstellen Sie dann eine fehlerhafte Einheit Test für diese Funktionalität, und arbeiten Sie sich den Stapel wieder nach oben. In einigen Fällen bin Datenbank Unit-Tests zu schreiben ich auch, so gibt es eine weitere Schicht von Tests, die geschrieben werden, zu erhalten, scheiterten, und übergeben, bevor die Fitnesse Pass testet.

Andere Tipps

Wenn Änderung wahrscheinlich ist, in der Front starten. Sie können sofort Feedback von Aktionären erhalten. Wer weiß? Vielleicht wissen sie nicht wirklich, was sie wollen. Beobachten Sie die Schnittstelle (UI, Service oder auf andere Weise). Ihre Aktionen könnten Sie begeistern, das Problem in einem neuen Licht zu sehen. Wenn Sie Änderungen vor der Codierung Domain-Objekte und Datenbank fangen, können Sie eine Menge Zeit sparen.

Wenn Anforderungen starr sind, ist es nicht so wichtig. Beginnen Sie in der Schicht, die das schwierigste wahrscheinlich zu sein ist - Adresse Risiko früh. Letztendlich ist dies eine jener „mehr eine Kunst als eine Wissenschaft“ Fragen. Es ist wahrscheinlich ein empfindliches Zusammenspiel zwischen Layer-Design, das die beste Lösung schafft.

Prost.

Ich würde es unten tun up, da Sie schnell haben Sie einige Arbeitsergebnisse (dh Sie Unit-Tests ohne Benutzeroberfläche schreiben kann, kann aber die Benutzeroberfläche nicht testen, bis das Modell fertig ist).

Es gibt auch andere Meinungen, aber.

Ich würde beginnen, das Problem Domain zu modellieren. Erstellen Sie relevanten Klassen, um die Stellen des Systems darstellt. Sobald ich damit sicher fühlen, würde ich versuchen, einen gangbaren Mapping für persistierende die Objekte in der Datenbank zu finden. Wenn Sie zu viel Arbeit in die UI setzen, bevor Sie ein Modell der Domäne haben, besteht ein erhebliches Risiko, dass Sie brauchen danach die Benutzeroberfläche neu zu arbeiten.

Denken an es, müssen Sie wahrscheinlich einige Updates zu allen Schichten tun sowieso ... =)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top