iOS下的原型模式與非原型模式的效率比較

2021-07-09 05:45:31 字數 1508 閱讀 5856

ios下的原型模式與非原型模式的效率比較
直接上**:
// 資料模型
#import @inte***ce datamodel : nsobject @property (nonatomic,strong) nsstring *name;

@property (nonatomic,strong) nsdate *date;

@property (nonatomic,assign) bool ***;

@property (nonatomic,assign) nsinteger age;

@end

#import "datamodel.h"

@implementation datamodel

- (id)mutablecopywithzone:(nszone *)zone

@end

// 呼叫的地方
#import #import "datamodel.h"

@inte***ce prototype : nsobject

// 原型模式測試例子

+ (void)prototypetest:(id)object;

@end

#import "prototype.h"

@implementation prototype

// 原型模式測試例子

+ (void)prototypetest:(id)object }}

else }}

}@end

測試結果:

原型模式下:

02:55:14.326 designpatter_prototype[1761:46308] frandkly,

02:55:25.321 designpatter_prototype[1761:46308] frandkly,

非原型模式下:

02:56:59.804 designpatter_prototype[1800:47397] frandkly,

02:57:13.753 designpatter_prototype[1800:47397] frandkly,

結果分析:

效率差距不是很大,在一萬條資料的情況下差距是2到3秒,對於一般的百條以內,屬性值不是很多的話,應該差距不大,當然,還是以實際的使用情況分析,我在此只是簡單的對比。有錯誤的地方,請指正。

iOS設計模式 原型模式

使用原型例項指定建立物件的種類,並通過複製這個原型建立新的物件 它通過複製乙個已經存在的例項來返回新的例項,而不是新建例項 原型模式實際意義上來說是拷貝 而且一般情況下都是深拷貝。簡單理解就是 建立第乙個模板物件,然後通過複製模板來建立新的物件 遵守協議 實現 id copywithzone nsz...

建立型模式 原型模式

使用原型例項指定建立物件的種類,並且通過轉殖這些原型建立新的物件 原理是將乙個原型物件傳給要發動建立的物件,該物件通過請求原型物件轉殖自己來建立過程 轉殖方法 public prototype clone jdk中為我們提供了轉殖的方法clone 從object繼承下來,乙個物件要實現轉殖,需要實現...

建立型模式 原型模式

原型 prototype 模式主要用於建立物件的轉殖,通常其最簡單的形式就是採用自定 clone 函式並 傳入物件引數以返回此物件的乙個副本,這在 python 實作上可使用內定 copy.cop y 或 copy.deepcopy 函式來達到此目的。當已有乙個物件但對此物件的某些部分會被變更卻又想...