大多數(shù)編程語言相關(guān)的學(xué)習(xí)書籍,都會(huì)以hello,world這個(gè)典型的程序作為第一個(gè)示例。作為Android應(yīng)用開發(fā)者,無論使用eclipse還是用android studio,在新建項(xiàng)目的時(shí)候,一直按IDE默認(rèn)選擇項(xiàng),下一步進(jìn)行下去,就會(huì)創(chuàng)建出一個(gè)可以運(yùn)行hello,world應(yīng)用程序。對(duì)于這個(gè)程序,可以認(rèn)為是采用MVC模式,對(duì)應(yīng)關(guān)系為:
- View:對(duì)應(yīng)于布局文件
- Model:業(yè)務(wù)邏輯和實(shí)體模型
- Controllor:對(duì)應(yīng)于Activity
但是數(shù)據(jù)綁定、事件處理(hello world程序沒有)的代碼都在Activity中,Activity看起來既擔(dān)任了View的角色,又擔(dān)任了Controller的角色。這樣隨著程序業(yè)務(wù)邏輯越來越復(fù)雜,Activity中的代碼就會(huì)越來越多,最終結(jié)果就是程序的耦合度越來越高,程序修改和維護(hù)越來越難。于是MVP模式的優(yōu)點(diǎn)就顯示出來了。下面我就以這個(gè)最簡單的程序,來談?wù)勎覍?duì)mvp模式的理解。
先上代碼:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"