在IOS開發(fā)中用純Objective-C語言實(shí)現(xiàn)的分層架構(gòu)如圖1所示。之前也介紹過MyNotes工程,如圖2所示。在Xcode工程導(dǎo)航面板中,共有3個(gè)組,這類似于圖上一節(jié)介紹的純Swift語言實(shí)現(xiàn)的工程。
下面介紹代碼部分。在dao組中,NoteDAO.h的代碼如下:
@interface NoteDAO : NSObject
//保存數(shù)據(jù)列表
@property (nonatomic,strong) NSMutableArray* listData;
+ (NoteDAO*)sharedManager;
//插入備忘錄的方法
-(int) create:(Note*)model;
//刪除備忘錄的方法
-(int) remove:(Note*)model;
//修改備忘錄的方法
-(int) modify:(Note*)model;
//查詢所有數(shù)據(jù)的方法
-(NSMutableArray*) findAll;
//按照主鍵查詢數(shù)據(jù)的方法
-(Note*) findById:(Note*)model;
@end
在上述代碼中,listData屬性用于保存數(shù)據(jù)表中的數(shù)據(jù),其中每一個(gè)元素都是Note對(duì)象。+ (NoteDAO*) sharedManager方法用于獲得NoteDAO單例對(duì)象。在dao組中,NoteDAO.m的代碼如下:
NoteDAO也采用了單例設(shè)計(jì)模式來實(shí)現(xiàn)。
在domain組中,Note的代碼如下,它只有兩個(gè)屬性——date是創(chuàng)建備忘錄的日期,content是備忘錄的內(nèi)容:
//
//Note.h
//
#import
@interface Note : NSObject
@property(nonatomic, strong) NSDate* date;
@property(nonatomic, strong) NSString* content;
@end
//
//Note.m
//
#import "Note.h"
@implementation Note
@end
在業(yè)務(wù)邏輯層BusinessLogicLayer中,NoteBL.h的代碼如下:
@interface NoteBL : NSObject
//插入備忘錄的方法
-(NSMutableArray*) createNote:(Note*)model;
//刪除備忘錄的方法
-(NSMutableArray*) remove:(Note*)model;
//查詢所有數(shù)據(jù)的方法
-(NSMutableArray*) findAll;
@end
下面是NoteBL.m中的代碼:
@implementation NoteBL
//插入備忘錄的方法
-(NSMutableArray*) createNote:(Note*)model
{
NoteDAO *dao = [NoteDAO sharedManager];
[dao create:model];
return [dao findAll];
}
//刪除備忘錄的方法
-(NSMutableArray*) remove:(Note*)model
{
NoteDAO *dao = [NoteDAO sharedManager];
[dao remove:model];
return [dao findAll];
}
//查詢所有數(shù)據(jù)的方法
-(NSMutableArray*) findAll
{
NoteDAO *dao = [NoteDAO sharedManager];
return [dao findAll];
}
@end
PresentationLayer是表示層,其中的內(nèi)容大家應(yīng)該比較熟悉了,南昌APP開發(fā)公司-百恒網(wǎng)絡(luò)在這里就不再多說了,想了解更多關(guān)于這方面的知識(shí)的朋友,隨時(shí)歡迎您來電和我們聯(lián)系,本公司專注于南昌APP開發(fā)具有十多年的豐富經(jīng)驗(yàn),如有需要,百恒隨時(shí)為您服務(wù)!