La domanda è autoesplicativa, solo per aggiungere i miei pensieri:
per quanto ho letto, il livello di presentazione in Clean Arch ha la stessa responsabilità di MV in MVP.
Come si decide di scegliere uno schema anziché l'altro?
La domanda è autoesplicativa, solo per aggiungere i miei pensieri:
per quanto ho letto, il livello di presentazione in Clean Arch ha la stessa responsabilità di MV in MVP.
Come si decide di scegliere uno schema anziché l'altro?
Risposte:
Quella che Bob Martin chiamava " Clean Architecture " è più una "meta-architettura", una linea guida di alto livello per la creazione di architetture a strati. Non dice niente del genere
"Devono essere presenti un livello Modello, un livello Visualizza e un livello Presentazione e devono essere implementati mediante MVP ",
contiene solo regole più generali per i livelli come "le dipendenze devono passare dai cerchi esterni ai cerchi interni, non viceversa" . E poiché in MVP, la Vista (= UI) potrebbe conoscere il Presenter, ma il Presenter è disaccoppiato dalla Vista da un'interfaccia, MVP è solo una delle molte soluzioni possibili che soddisfano questa regola.
Naturalmente, si può usare MVP all'interno di un sistema "Clean Architecture", ma questo non è l'unico approccio corretto. Qualsiasi progetto di interfaccia utente in cui gli "strati interni" non conoscono nulla di speciale sull'interfaccia utente e in cui l'interfaccia utente segue anche le altre regole di "architettura pulita" descritte nell'articolo di Bob Martin andrà bene.