一、App是什么
App是英文Application的簡稱,是指設計給智能手機、平板電腦和其它移動設備上運行的軟件應用程序,可分為基于移動設備本地(操作系統)運行的Native App 和基于高端機瀏覽器運行的Web App。移動設備用戶可以通過無線網絡連接移動軟件應用程序商店免費或付費下載使用App。廣義移動應用包含個人及企業級應用,狹義移動應用指企業級商務應用,可分為消息應用、現場應用、管理應用及自主應用等。
根據手機app安裝來源不同,又可分為手機預裝軟件和用戶自己安裝的第三方應用軟件。手機預裝軟件一般指手機出廠自帶、或第三方刷機渠道預裝到消費者手機當中、且消費者無法自行刪除的應用或軟件。除了手機預裝軟件之外,還有用戶從手機應用市場自己下載安裝的第三方手機app,下載類型主要集中在社交社區類軟件。
二、Model是什么
Model 是數據源層,比如數據庫接口或者遠程服務器的api。Model層包含了app的數據與邏輯,Model層中的類需要關心的是數據的表現,存儲,以及操作。Model層是整個app生態中相對獨立的一個部分,因為它不會直接與controller層或者是View層進行通訊,而是在其他層需要請求它的信息的時候進行間接通訊。
Model的作用:
屬性存取:將文件中的一些特性和數據以屬性的形式存儲可變性:屬性可以readwrite,所以能夠被改變,并保存到本地KVO:可以觀察一個屬性的值并在它改變的時候受到通知,并以此對UI或其他地方進行控制處理數據:根據業務邏輯處理網絡獲取數據與本地存儲數據三、MVC框架
MVC是一種架構設計模式,是一種設計理念。是為了達到分層設計的目的,從而使代碼解耦,便于維護和代碼的復用。MVC是3個單詞的縮寫,全稱:Model-View-Controller(模型-視圖-控制器)。
MVC開始是存在于桌面程序中的,M是指業務模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。
MVC 編程模式:
M即model模型是指模型表示業務規則。在MVC的三個部件中,模型擁有非常多的處理任務。被模型返回的數據是中立的,模型與數據格式無關,這樣一個模型能為多個視圖提供數據,由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。V即View視圖是指用戶看到并與之交互的界面。比如由html元素組成的網頁界面,或者軟件的客戶端界面。MVC的好處之一在于它能為應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發生,它只是作為一種輸出數據并允許用戶操作的方式。C即controller控制器是指控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求,然后再確定用哪個視圖來顯示返回的數據。延伸閱讀1:框架和設計模式的區別
框架與設計模式雖然相似,但卻有著根本的不同。設計模式是對在某種環境中反復出現的問題以及解決該問題的方案的描述,它比框架更抽象;框架可以用代碼表示,也能直接執行或復用,而對模式而言只有實例才能用代碼表示;設計模式是比框架更小的元素,一個框架中往往含有一個或多個設計模式,框架總是針對某一特定應用領域,但同一模式卻可適用于各種應用。可以說,框架是軟件,而設計模式是軟件的知識。