美文网首页
iOS设计模式(生成器模式)

iOS设计模式(生成器模式)

作者: hfzhangzhang | 来源:发表于2018-07-01 21:45 被阅读0次

生成器模式
设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

实用场景
1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
2 当构造过程必须允许被构造的对象有不同表示时。

指导者根据传入的参数,让生产者生产,返回产品。


OC

@interface DrawBuilder : NSObject

- (CGFloat)buildLabel;  /**< 构建label */
- (CGFloat)buildButton; /**< 构建按钮 */
- (CGFloat)buildSizeView; /**< 构建蓝色的View */

- (DrawView *)loadView; /**< 构建结果 */

@end

- (CGFloat)buildLabel {
    return 0;
}

- (CGFloat)buildButton {
    return 0;
}

- (CGFloat)buildSizeView {
    return 0;
}

- (DrawView *)loadView {
    CGFloat drawWidth = 200;
    CGFloat drawHeight = 300;

    DrawView *drawView = [[DrawView alloc] initWithFrame:CGRectMake(0, 0, drawWidth, drawHeight)];

    //
    drawView.buildLabel = [self buildLabel];
    drawView.buildButton = [self buildButton];
    drawView.buildSizeView = [self buildSizeView];
    
    return drawView;
}
@interface DrawSubBuilderOne : DrawBuilder

@end
@implementation DrawSubBuilderOne
- (CGFloat)buildLabel {
    return 1;
}

- (CGFloat)buildButton {
    return 1;
}

- (CGFloat)buildSizeView {
    return 1;
}
@end
@interface DrawSubBuilderTwo: DrawBuilder

@end
@implementation DrawSubBuilderTwo
- (CGFloat)buildLabel {
    return 10;
}

- (CGFloat)buildButton {
    return 150;
}

- (CGFloat)buildSizeView {
    return 100;
}
@end

@interface Director : NSObject

+ (DrawView *)creatView:(DrawBuilder *)builder;

@end
@implementation Director

+ (DrawView *)creatView:(DrawBuilder *)builder {
    DrawView *drawView = [builder loadView];
    return drawView;
}
@end

#########
DrawBuilder *builder = [[DrawSubBuilderTwo alloc] init];
// 组装
DrawView *drawView = [Director creatView:builder];
    
drawView.center = self.view.center;
[self.view addSubview:drawView];

相关文章

  • iOS设计模式之美-适配器模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-抽象工厂模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-工厂模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-生成器模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • 生成器模式

    生成器模式是iOS设计模式中比较简单的一种模式,也经常拿来和抽象工厂作对比。首先我们说下什么事生成器模式。该模式由...

  • iOS设计模式(3)适配器模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(4)抽象工...

  • iOS设计模式(5)策略模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(6)模板模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(7)建造者模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(4)抽象工厂模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

网友评论

      本文标题:iOS设计模式(生成器模式)

      本文链接:https://www.haomeiwen.com/subject/nuyhuftx.html