XAML in Xamarin.Forms 基礎篇 電子書

XAML in Xamarin.Forms 基礎篇 電子書
XAML in Xamarin.Forms 基礎篇 電子書

Xamarin.Forms 快速入門 電子書

Xamarin.Forms 快速入門 電子書
Xamarin.Forms 快速入門 電子書

2016/08/06

MVC / MVP / MVVM

MVC / MVP / MVVM

這三個軟體架構模式通常用於具有使用者介面(UI User Interface)的專案開發,不論是哪種,都希望讓開發者可以做到關注點分離,降低不同成員之間的密切關連性。
以發表時間上來說,MVC 發表的時間最早,接著是 MVP,最後才是 MVVM。
不論是這三個哪一種,對於底下的這兩個,這三者都是表示同樣的意義。
  • Model (模型)
    模型物件用來表示與實作出應用程式內的各種資料物件,並且包含了商業處理邏輯。
  • View (檢視)
    這部份表示應用程式中的使用者介面(UI)所要顯示的各個元件。
所以,這三者的不同在 MVC (Controller) / MVP (Presenter) / MVVM (ViewMode)

MVC

通常會以 Model-View-Controller 來表示,其中控制器 (Controller) 是使用者接觸的對象,用來處理使用者的互動與處理資料模型物件,最後,依照所選擇的檢視(View),將內容顯示給使用者看到。
在 MVC 架構內,檢視只會顯示資料之用,而檢視所要顯示的內容,則是由資料模型取得。
處理使用者輸入與回應的元件則是控制器的責任。並且也會針對模型物件做更新與設定東做。
MVC

MVP

通常會以 Model-View-Presenter 來表示,其中,使用這接觸到的是檢視,而 Presenter 將會視為一個在中間的協調者,扮演著 檢視與模型 之間的溝通行為。檢視在這裡則扮演著被動的腳色,通常會定義一個介面,並且實作出來;Presenter 則使用檢視的介面,做出不同的反應與處理或者存取模型物件內的資料給檢視使用。
MVP

MVVM

通常會以 Model-View-ViewModel 來表示,使用者接觸到的是檢視;檢視通常會需要使用到 XAML 標記宣告語言來定義,而 XAML 僅僅提供了使用者介面的宣告,並無法提供任何處理邏輯,因此,檢視模型(ViewModel)就扮演這存取資料模型的責任,並且透過了資料繫結技術將資料提供給檢視。
在這裡,檢視僅知道檢視模型的存在,檢視模型僅知道模型的存在,而檢視模型並不知道檢視的存在,檢視也不知道模型的存在,因此,充分做到的關注點分離的目的。
MVVM

沒有留言:

張貼留言