iOS設計模式 生成器

2021-09-23 21:15:01 字數 2280 閱讀 4808

ios設計模式 - 生成器

原理圖

生成器模式可以理解為零部件組裝工廠,與工廠方法是非常相似的!原始碼

//

// vehiclebuilder.h

// builderpattern

//// created by youxianming on 15/8/18.

//#import #import "vehiclebuilderprotocol.h"

@inte***ce vehiclebuilder : nsobject /**

* 車輛資訊

*/@property (nonatomic, strong) nsmutabledictionary *vehicleinfo;

@end

//

// vehiclebuilder.m

// builderpattern

//// created by youxianming on 15/8/18.

//#import "vehiclebuilder.h"

@implementation vehiclebuilder

- (instancetype)init

return self;

}- (void)buildvehiclechassis

- (void)buildvehicleengine

- (void)buildvehiclewheels

- (void)buildvehicledoors

@end

//

// vehiclebuilderprotocol.h

// builderpattern

//// created by youxianming on 15/8/18.

//#import @protocol vehiclebuilderprotocol @required

/** * 製造汽車底盤

*/- (void)buildvehiclechassis;

/** * 製造汽車引擎

*/- (void)buildvehicleengine;

/** * 製造汽車輪子

*/- (void)buildvehiclewheels;

/** * 製造汽車車門

*/- (void)buildvehicledoors;

@end

//

// vehicleassemblyplant.h

// builderpattern

//// created by youxianming on 15/8/18.

//#import #import "vehiclebuilder.h"

/** * 車輛裝配工廠

*/@inte***ce vehicleassemblyplant : nsobject

/** * 組裝車輛

* * @param vehiclebuilder 組裝方案

* * @return 組裝好的車輛

*/+ (vehiclebuilder *)vehicleassembly:(vehiclebuilder *)vehiclebuilder;

@end

//

// vehicleassemblyplant.m

// builderpattern

//// created by youxianming on 15/8/18.

//#import "vehicleassemblyplant.h"

@implementation vehicleassemblyplant

+ (vehiclebuilder *)vehicleassembly:(vehiclebuilder *)vehiclebuilder

@end

細節

iOS設計模式 生成器

ios設計模式 生成器 原理圖 生成器模式可以理解為零部件組裝工廠,與工廠方法是非常相似的 原始碼 builderpattern created by youxianming on 15 8 18.import import vehiclebuilderprotocol.h inte ce vehi...

設計模式 生成器模式

前兩個文章我介紹了工廠方法模式和抽象工廠模式,這次我來講一些生成器模式。生成器模式我也用的比較多。5個建立型模式裡面,我比較喜歡用工廠方法模式,生成器模式和單例模式。意圖將乙個複雜物件的構建與它的表示分開,使得同樣的構建過程可以建立不同的表示。結構圖 一眼看去是不是和抽象工廠模式有點像?是啊,我也覺...

設計模式 生成器模式

封裝乙個產品的構造過程,並允許按步驟構造 需要經過多個步驟建立的物件,如實際生活中的點餐流程,管理系統中的匯出框架等 此處以點餐流程為例 入口 package com.glt.designpattern.builder public class initmain 建造者類 package com.g...