Factory Method(工廠模式)
定義一個用于創(chuàng)建對象的接口媳禁,讓子類決定實例化哪一個類。工廠方法使一個類的實例化延遲到其子類。相對于簡單工廠方法贺奠,工廠方法模式把工廠也抽象出來,進行接口错忱、實現(xiàn)分離儡率。這樣具體工廠和具體產(chǎn)品可以對應著同時擴充,而不需要修改現(xiàn)有邏輯以清。當然儿普,使用者也許在不同場景要在一定程度上自己對應的工廠選擇。
VC.h
//不同的操作類有不同的工廠類掷倔,擴展新的操作不影響現(xiàn)有操作眉孩。HCDfactoryAdd工廠類初始化HCDCalculateAdd類。其他減勒葱、乘勺像、除一樣。
HCDfactory *factory = [[HCDfactoryAdd alloc]init];
HCDfactory *calculate = [factory createFactory];
calculate.numberA = 10;
calculate.numberB = 15;
NSLog(@"結果是%f",[calculate calculate]);
HCDfactory.h // 工廠抽象基類
@interface HCDfactory : NSObject<HCDCalculate>
-(id<HCDCalculate>)createFactory;
@end
HCDfactoryMinus.m // 子工廠抽象類
@implementation HCDfactoryMinus
-(id<HCDCalculate>)createFactory{
// 初始化生成真正的子工廠類
return [[HCDCalculateMinus alloc]init];
}
@end
HCDCalculateMinus.m // 計算類
@implementation HCDCalculateMinus
@synthesize numberA = _numberA;
@synthesize numberB = _numberB;
-(CGFloat)calculate{
return self.numberA - self.numberB;
}
@end