19 Mart 2019 Salı

Model View Presenter

Giriş
MVP ve MVC farklı şeyler.

MVP Yapıları Arasındaki İlişkiler
İlişki şöyle
Model <- has-- Presenter <---> View
Model -> Presenter Arası
Model Presenter'a bir ResponseModel gönderir.

Presenter -> View Arası
Presenter ve View arasında bir ViewModel kodlanabilir.

- Presenter örneğin bir Date nesnesini alıp string'e çevirip View'a gönderir.
- Veya bir currency nesnesini alıp string'e çevirip View'a gönderir. Eğer currency eksi değer olduğu için kırmızı gösterilecekse bunu yine Presenter bilir.
- Eğer bir düğmenin View'da etkinsizleştirilmesi gerekiyorsa Presenter bunu View'a bildirir.

Amaç View nesnesini mümkün olduğunca akılsız hale getirmektir.


View -> Presenter Arası
View nesnesi bir emitter. Presenter'a eventler gönderir.

Sonuç
Presenter da View nesnesine girdi sağlar. Yani View ve Presenter arasında çift yönlü ilişki var. Açıklaması şöyle.
Thus, we can understand our view and our service as black boxes that emit events and receive information (through input and output “cables”), and our presenter will be responsible for connecting the input cables of a component to those of output from another and vice versa.
Ayrıca Presenter, Model nesnesine sahiptir ve dışarı sunar. Böylece View gerekirse modele de erişebilir.

Hiç yorum yok:

Yorum Gönder