Die Frage ist selbsterklärend, um nur meine Gedanken hinzuzufügen:
Soweit ich gelesen habe, hat die Präsentationsebene in Clean Arch die gleiche Verantwortung wie in MV in MVP.
Wie entscheidet man sich, ein Muster anstelle des anderen zu wählen?
Die Frage ist selbsterklärend, um nur meine Gedanken hinzuzufügen:
Soweit ich gelesen habe, hat die Präsentationsebene in Clean Arch die gleiche Verantwortung wie in MV in MVP.
Wie entscheidet man sich, ein Muster anstelle des anderen zu wählen?
Antworten:
Was Bob Martin " saubere Architektur " nannte, ist eher eine "Meta-Architektur", eine Richtlinie auf hoher Ebene zum Erstellen von Schichtenarchitekturen. Es sagt nichts dergleichen aus
"Es muss eine Model-Ebene, eine View-Ebene und eine Presentation-Ebene geben, und sie müssen mit MVP implementiert werden. "
Es enthält nur allgemeinere Regeln für die Ebenen wie "Abhängigkeiten müssen von den äußeren Kreisen zu den inneren Kreisen gehen, nicht umgekehrt" . Und da in MVP die Ansicht (= Benutzeroberfläche) den Presenter möglicherweise kennt, der Presenter jedoch durch eine Schnittstelle von der Ansicht entkoppelt ist, ist MVP nur eine von vielen möglichen Lösungen, die diese Regel erfüllen.
Natürlich kann man MVP in einem "Clean Architecture" -System verwenden, aber dies ist nicht der einzige richtige Ansatz. Jedes UI-Design, bei dem die "inneren Schichten" nichts Besonderes über die UI wissen und bei dem die UI auch den anderen in Bob Martins Artikel beschriebenen "Clean Architecture" -Regeln folgt, ist in Ordnung.