iOS 設計模式之抽象工廠

2021-09-09 01:45:44 字數 2147 閱讀 8236

設計模式是程式提公升的必備知識,這裡說下ios怎樣實現抽象工廠設計模式。本文是看過oc程式設計之道這本的抽象工廠這章後寫出的,假設不明確原理能夠看看那本書。

testview.h首先建立乙個檢視

//

// testview.h

// abstractfactory

//// created by 杜甲 on 11/10/14.

//#import @inte***ce testview : uiview

@end

testview.m

//

// testview.m

// abstractfactory

//// created by 杜甲 on 11/10/14.

//#import "testview.h"

@implementation testview

- (id)initwithframe:(cgrect)frame

return self;

}@end

接下來建立兩個類testfactory、testbrandingfactory 當中

testfactory繼承testbrandingfactory。詳細實現例如以下:

testbrandingfactory.h

//

// testbrandingfactory.h

// abstractfactory

//// created by 杜甲 on 11/10/14.

//#import #import @inte***ce testbrandingfactory : nsobject

+ (testbrandingfactory *)factory;

- (uiview *)createtestview:(cgrect)frame;

@end

testbrandingfactory.m

//

// testbrandingfactory.m

// abstractfactory

//// created by 杜甲 on 11/10/14.

//#import "testbrandingfactory.h"

#import "testfactory.h"

@implementation testbrandingfactory

+ (testbrandingfactory *) factory

- (uiview *) createtestview:(cgrect)frame

@end

testfactory.h

//

// testfactory.h

// abstractfactory

//// created by 杜甲 on 11/10/14.

//#import "testbrandingfactory.h"

@inte***ce testfactory : testbrandingfactory

@end

testfactory.m

//

// testfactory.m

// abstractfactory

//// created by 杜甲 on 11/10/14.

//#import "testfactory.h"

#import "testview.h"

@implementation testfactory

- (uiview *)createtestview:(cgrect)frame

@end

最後貼出實現

testbrandingfactory * tmp = [testbrandingfactory factory];

uiview *v = [tmp createtestview:cgrectmake(50, 110, 100, 50)];

[self.view addsubview:v];

iOS設計模式 抽象工廠

ios設計模式 抽象工廠 原理圖 1.抽象工廠指的是提供乙個建立一系列相關或者相互依賴物件的介面,而無需指定它們具體的類 2.如果多個類有相同的行為,但實際實現不同,則可能需要某種抽象型別作為其父類被繼承,抽象型別定義了所有相關具體類將共有的共同行為原始碼 brandingfactory.h abs...

設計模式之工廠 抽象工廠

一 應用場景 工廠模式應用非常廣泛,意在抽象出一層專職管理物件產生以及物件間的關係,讓我們能夠專注於業務開發 1.不用去寫許許多多的new方法,替換實現類還得挨個修改。2.類中不涉及實現類,物件間只存在介面級別的耦合,客戶端呼叫注入實現類即可。由於工廠模式變種非常多,這裡只講一下常用的簡單工廠和抽象...

抽象工廠模式 設計模式3之抽象工廠模式

工廠方法模式中工廠只負責同類產品的生產。比如電視機工廠不應該生產汽車。然而現實生活中有很多綜合型的工廠,比如有些電視工廠不僅生產電視機,還會生產與之配套的機頂盒。那麼抽象工廠模式隨之誕生,這種模式將考慮多種型別產品的生產。我們總結下 工廠方法模式只考慮成產同一等級級的產品抽象方法模式考慮生產多等級的...