? ? 近段時(shí)間,經(jīng)常聽(tīng)到MVP模式,作為小菜比,只能興嘆,特么的我以前怎么沒(méi)看到,好了,正題正題。
? ? ?MVP,Modle-View-Presenter,其各個(gè)模塊的交互為:
MVP是由MVC模式演變過(guò)來(lái)的,基本思想都是一個(gè)模塊負(fù)責(zé)顯示(View),一個(gè)模塊負(fù)責(zé)數(shù)據(jù)的供給(Model),還有一個(gè)負(fù)責(zé)業(yè)務(wù)邏輯(Presenter\Controller).但是它們是有區(qū)別的:
? ? ? ?從上圖中我們可以看出:在MVC模式中,各個(gè)模塊之間都有直接交互,這就導(dǎo)致耦合過(guò)多,修改某些業(yè)務(wù)邏輯時(shí)非常困難,并且在編寫(xiě)某些單元測(cè)試時(shí)難以入手。而在MVP中,Presenter作為橋梁,把View和Model聯(lián)系起來(lái),但View和Model沒(méi)有直接的交互,因此,其可以集中業(yè)務(wù)邏輯,不必分散在多個(gè)部分,并且耦合性更低。
? ? ? 在MVP模式中,View中應(yīng)該只有簡(jiǎn)單的Set/Get方法,用戶(hù)輸入和設(shè)置界面顯示的內(nèi)容。不允許View直接訪問(wèn)Model。
參考文檔:
? ? ? ??MVP交互--http://www.cnblogs.com/mybkn/archive/2012/04/12/2443676.html