Pytanie jest oczywiste, aby dodać moje przemyślenia:
O ile przeczytałem, warstwa prezentacji w Clean arch ma taką samą odpowiedzialność jak w MV w MVP.
Jak ktoś decyduje się wybrać jeden wzór zamiast drugiego?
Pytanie jest oczywiste, aby dodać moje przemyślenia:
O ile przeczytałem, warstwa prezentacji w Clean arch ma taką samą odpowiedzialność jak w MV w MVP.
Jak ktoś decyduje się wybrać jeden wzór zamiast drugiego?
Odpowiedzi:
To, co Bob Martin nazwał „ czystą architekturą ”, jest bardziej „metaarchitekturą”, wytyczną wysokiego poziomu do tworzenia architektur warstwowych. Nie mówi nic takiego
„Musi istnieć warstwa modelu, warstwa widoku i warstwa prezentacji i muszą być zaimplementowane przy użyciu MVP ”,
zawiera tylko bardziej ogólne reguły dla warstw, takie jak: „zależności muszą przechodzić od zewnętrznych kół do wewnętrznych kół, a nie odwrotnie” . A ponieważ w MVP Widok (= UI) może znać Prezentera, ale Prezenter jest oddzielony od Widoku przez interfejs, MVP jest tylko jednym z wielu możliwych rozwiązań, które spełniają tę zasadę.
Oczywiście można użyć MVP w systemie „Czystej architektury”, ale nie jest to jedyne prawidłowe podejście. Każdy projekt interfejsu użytkownika, w którym „wewnętrzne warstwy” nie znają niczego specjalnego na temat interfejsu użytkownika, i gdzie interfejs użytkownika jest zgodny z innymi zasadami „Czystej architektury” opisanymi w artykule Boba Martina, będzie w porządku.