移動App架構模式,移動app架構

來源:互聯網
上載者:User

移動App架構模式,移動app架構
移動App架構模式

本文主要總結了幾種常用的架構模式, 基本是層層遞進的, 轉載請注名出處: http://blog.csdn.net/uxyheaven

在一個app的不同生命週期採用不同的架構模式可以有效提高開發效率

基本的MVC

移動app一般都是採用經典的mvc架構

層次 作用 設計原則
模型層(model) 封裝了應用的一系列資料, 並定義了操作, 處理這些資料的邏輯和計算規則。 通過C:Notification,KVO對控制器進行反饋
視圖層(view) 視圖對象是一個應用中, 使用者可以看到的對象. 視圖對象知道如何繪製自己, 也能夠響應使用者的操作. 視圖對象的主要目的之一是將應用程式模型對象中的資料顯示出來, 並允許使用者編輯該資料 視圖通過不能直接操作模型層, 通過target-action, delegate, dataSource和控制器進行反饋
控制器層(controller) 控制器層是在視圖層和若干個模型層的中間人 c可以直接操作模型層和視圖層

總結:C對M:APIC對V:OutletV對C:Target-action, Delegate,DatasourceM對C:Notification,KVO

MVC的改進版 MVVM

MVVM是在MVC的基礎上多了一個View Model: 表示邏輯, 將 model 的資料轉換為 view 可以呈現的東西.

三層架構

我們在來看一下經典的三層架構

從上至下為

  • 展示層(UI)
  • 商務邏輯層或稱為領域層(BLL)
  • 資料訪問層(DAL)
層次 作用 設計原則
展示層(UI) 向使用者展現特定業務資料,採集使用者的輸入資訊和操作 使用者至上,兼顧簡潔;不包含任何業務相關的邏輯處理
商務邏輯層(BLL) 從DAL中擷取資料, 在UI顯示; 從UI中擷取使用者指令和資料, 執行商務邏輯或通過DAL寫入資料來源 作為U層與D層的橋樑,目的在於展現清晰的函數結構, 只負責資料處理傳遞, 不涉及SQL語句和ADO.NET
資料訪問層(DAL) 直接操作資料庫,針對資料的增添 刪除 修改 尋找; 具體為商務邏輯層或展示層提供資料服務。 專門操作資料庫, 不考慮資料合法性. 資料庫錯誤返回-1, 邏輯錯誤返回0, 並告知錯誤原因, 成功返回1

然後呢,我們現在的架構則是


四層架構

在三層架構的基礎上多了商務規則層, 常的三層是把商務邏輯和商務規則合并為一個層,統稱為業務層.商務規則層的提出,既可以及時處理使用者輸入的不合法資訊, 又可以及時處理資料庫錯誤, 增大了商務邏輯層的結構清晰度, 讓商務邏輯人員專心致志做邏輯

從上至下為

  • 展示層
  • 商務規則層
  • 商務邏輯層或稱為領域層
  • 資料訪問層
層次 作用 設計原則
商務規則層(ECL) 對於UI層傳下來的參數來說,檢查合法性。 使用者至上,兼顧簡潔;不包含任何業務相關的邏輯處理
五層架構

一般情況下, 我們的商務邏輯放在中介層, 那麼對內部的這些大量種類繁多,使用方法也各異的不同的類的調用任務,就完全落到了展示層. 這樣勢必會增加展示層的代碼量, 將展示層的任務複雜化, 和展示層只負責接受使用者的輸入並返回結果的任務不太相稱, 並增加了層與層之間的耦合程度. 因此呢,我們需要增加介面去去統一的管理這些業務, 是設計模式中Facade模式的思想.

從上至下為

  • 展示層
  • 業務外觀層
  • 商務規則層
  • 商務邏輯層或稱為領域層
  • 資料訪問層
層次 作用 設計原則
業務外觀層 為負責子系統中的一組介面提供一個一致而且簡單的介面。  
新秀VIPER

viper這裡不多說了,請想瞭解的自行搜尋



一般設計移動app產品原型的話用什軟體比較好?用axure設計是不是特別麻煩?

一般你設計初稿可以用balsamiq mockups,如果要進階,加入邏輯關係這些,推薦你還是用axure。

關於產品原型,在於你能否表達到位,有些時候你甚至可以通過紙上手繪來向你的項目群組成員去表達你的思想
 
問IOS app開發 程式架構怎弄好

推薦你一本書,《objective-c編程之道 IOS設計模式解析》
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.