你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 設計模式深入學習IOS版(8)架構設計

設計模式深入學習IOS版(8)架構設計

編輯:IOS開發綜合

1 前言

之前我們學習了那麼多的設計模式,都是用來提高軟件系統的“可復用性”和“可擴展性”的。今天我們來學習一下IOS開發中的應用的架構設計。

轉載請注明出處:http://blog.csdn.net/developer_zhang

2 詳述

我們設計的系統架構應該采用分層劃分方式,而且每層之間都應該是送耦合的,層次內部是高內聚的。如圖為通用的低耦合的企業級系統架構圖:

\

表示層:用戶與系統交互的組件集合。用戶通過這一層向系統提交請求或者發出指令,系統通過這一層接受用戶指令,調用下一層,然後將結果展現到這一層。表示層應該是輕薄的,不應該具有業務邏輯。

業務邏輯層:系統的核心業務處理層。負責接收表示層的指令和數據,待指令和數據消化吸收後,再進行組織業務邏輯的處理,並返回結果給表示層。<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+yv2+3bPWvsOy46O6yv2+3bPWvsOy49PD09q3w87K0MXPos+1zbOy46OstNPJ6LzGuea3tsnPvbLKx86qwcu9tbXN8e66z7bIo6zStc7xwt+8rbLjsrvTprjDvt/T0LfDzsrK/b7dv+K78tXfzsS8/rLZ1/e1xLT6wuujrNXi0Km0+sLr06a4w7fFtb3K/b7ds9a+w7Lj1tChozwvcD4KPHA+0MXPos+1zbOy46O6z7XNs7XEyv2+3cC01LSjrL/J0tTKucr9vt2/4qOszsS8/qOs0sXB9M+1zbO78tXfzfjC58r9vt2hozwvcD4KPGgyPjIuMSDKtcD9t9bO9jwvaDI+CjxwPiAgyOe5+87Sw8ex4NC00ru49rv509ppT1OjqGlQaG9uZbrNaVBhZMG9uPbGvcyoo6m1xE15Tm90ZXPTptPDo6zL/L7f09DU9sm+uMSy6bG4zfzCvLXEuabE3KGj08PA/c28yOfPwqO6PC9wPgo8cD48aW1nIHNyYz0="/uploadfile/Collfiles/20140228/20140228083232290.jpg" width="700" height="500" alt="\">

分層設計後,表示層可以分為iPhone和iPad版本,而業務邏輯層,數據持久層和信息系統層可以公用,這樣大大減少了我們的工作量。

在IOS平台中,分層架構設計有多種模式:基於同一工程的分層,基於一個工作空間不同工程的分層和靜態鏈接庫分層。這裡我們簡單介紹基於統一工程的分層。

在本應用中,我們分為三組--PresentationLayer,BusinessLogicLayer和PersistenceLayer,其中PresentationLayer用於放置標識相關的類,BusinessLogicLayer用於放置邏輯層相關類,PersistenceLayer用於放置持久層相關的類。在各個層下面,我們可以按照業務模塊劃分,也可以按照組件功能劃分。而PersistenceLayer層還要分為dao和domain兩個組。dao用於放置數據訪問對象,該對象中訪問數據的CRUD四個類方法。為了降低耦合度,dao一般要設計成協議(或Java接口),然後根據不同的數據來源采用不同的實現方式。domain組是實體類,實體是應用中的”人“,”事“,”物“等。

\

代碼實例:

Note實體類:

#import 

/*!
 *  Note實體類
 *
 *  @since V1.0
 */
@interface Note : NSObject

@property (nonatomic,strong) NSDate* date;
@property (nonatomic,strong) NSString* content;

@end

數據持久化操作類:

#import 
#import "Note.h"

/*!
 *  數據持久化操作類(用listData來模擬sqlLite)
 *
 *  @since V1.0
 */
@interface NoteDAO : NSObject

//保存數據列表
@property (nonatomic,strong) NSMutableArray* listData;
//單例方式實例化自身對象
+(NoteDAO*) shareInstance;
//增加備忘錄方法
-(int) add:(Note*)model;
//刪除備忘錄方法
-(int) remove:(Note*)model;
//修改備忘錄方法
-(int) update:(Note*)model;
//查詢所有
-(NSMutableArray*) findAll;
//根據主鍵查詢數據的方法
-(Note*) findById:(Note*)model;

@end

備忘錄業務邏輯類:

#import 
#import "NoteDAO.h"

/*!
 *  備忘錄業務邏輯類
 *
 *  @since V1.0
 */
@interface NoteBL : NSObject

//插入備忘錄方法
-(NSMutableArray*) addNote:(Note*)model;
//刪除備忘錄的方法
-(NSMutableArray*) removeNote:(Note*)model;
//查詢所有方法
-(NSMutableArray*) findAll;

@end

3 結語

以上是所有內容,希望對大家有所幫助。

代碼實例:http://download.csdn.net/detail/u010013695/6968053

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved