iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0
Mobile Development

android studio 30天 精華筆記系列 第 18

精華筆記 Day18 -- MVC/MVP架構簡述

  • 分享至 

  • xImage
  •  

MVC

  • M:Model,表DataClass
  • V:View,表畫面(XML)
  • C:Controller,表執行邏輯(Activity)

概述

  • 這是最基本的架構樣式,其特點是三者關係為單向循環,耦合性低,部署快。不過不適合小型或中等規模的應用開發。其中View和Controller緊密連結,難以分開獨立使用,View沒有Controller的存在,其應用上將會被局限,相反的,Controller沒有View的話也是如此,且當邏輯隨功能發展越來越複雜,會使得Activity和Fragment的程式碼過多,難以理解及閱讀。

圖示

以Android為例:

  • Model(DataClass)
  • View(Xml)
  • Controller

MVP

  • M:Model,表DataClass
  • V:View,表畫面(XML、Activity)
  • P:Presenter,表執行邏輯(Presenter.Class)

概述

看起來與MVC差距不多,只差在將C換成了P,而P是負責處理邏輯的部分,而Activity和Fragmet被囊括近了View的部分,變成這樣的好處是分工更細微了,利於未來維護及重複利用,而MVP通常會有一個Controller可以負責管理Presenter、View等的Interface。不過雖然說相對來說分工更細微了,缺點就是修改上也更為麻煩,修改一個功能就要經歷多個class及interface的更動。

圖示

以Android為例:

  • Model(DataClass)

  • View

    • Xml
    • Activity、Fragmet
  • Presenter

  • Controller(Interface)

以上,是我對架構的簡述,在之後的範例我將會導入以上架構,多以MVP為主,讓各位能更清楚運用的情況。


上一篇
精華筆記 Day17--Notification
下一篇
精華筆記 Day19-- HttpURLConnection
系列文
android studio 30天 精華筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言