iOS设计模式-生成器
生活随笔
收集整理的這篇文章主要介紹了
iOS设计模式-生成器
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
定義:將一個(gè)產(chǎn)品的內(nèi)部表象與產(chǎn)品的生成過(guò)程分割開(kāi)來(lái),從而可以使一個(gè)建造過(guò)程生成具有不同的內(nèi)部表象的產(chǎn)品對(duì)象。
類型:對(duì)象創(chuàng)建
類圖:
#import <Foundation/Foundation.h>@interface Character : NSObject @property(nonatomic, assign)float protection; @property(nonatomic, assign)float power; @property(nonatomic, assign)float strength; @property(nonatomic, assign)float stamina; @property(nonatomic, assign)float intelligence; @property(nonatomic, assign)float agility; @property(nonatomic, assign)float aggressiveness; @end #import "Character.h"@implementation Character- (instancetype)init{if (self = [super init]) {_protection = 1.0;_power = 1.0;_strength = 1.0;_stamina = 1.0;_intelligence = 1.0;_agility = 1.0;_aggressiveness = 1.0;}return self; }@end #import <Foundation/Foundation.h> #import "Character.h"@interface CharacterBuilder : NSObject{Character * _character; } @property(nonatomic, readonly)Character *character;- (CharacterBuilder *)buildNewCharacter; - (CharacterBuilder *)builStrength:(float)value; @end #import "CharacterBuilder.h"@implementation CharacterBuilder- (CharacterBuilder *)buildNewCharacter{_character = [[Character alloc]init];return self; } - (CharacterBuilder *)builStrength:(float)value{_character.strength = value;return self; }@end #import "CharacterBuilder.h"@interface StandardCharacterBuilder : CharacterBuilder@end #import "StandardCharacterBuilder.h"@implementation StandardCharacterBuilder- (CharacterBuilder *)builStrength:(float)value{_character.protection = value;_character.power = value;return [super builStrength:value]; }@end #import <Foundation/Foundation.h> #import "StandardCharacterBuilder.h"@interface ChasingGame : NSObject- (Character *)createPlayer:(CharacterBuilder *)builder; - (Character *)createEnemy:(CharacterBuilder *)builder;@end #import "ChasingGame.h"@implementation ChasingGame- (Character *)createPlayer:(CharacterBuilder *)builder{[builder buildNewCharacter];[builder builStrength:50.0];return [builder character]; }- (Character *)createEnemy:(CharacterBuilder *)builder{[builder buildNewCharacter];[builder builStrength:80.0];return [builder character]; }@end
?
轉(zhuǎn)載于:https://www.cnblogs.com/muzijun/p/5749750.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的iOS设计模式-生成器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JS——实现短信验证码的倒计时功能(没有
- 下一篇: WPF Slider设置整数