美文网首页
结构型之四-装饰模式

结构型之四-装饰模式

作者: iOS_肖晨 | 来源:发表于2017-09-29 11:44 被阅读5次

Decrator(装饰模式)

动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。decorate应该像礼物一样层层封装,每一层都添加新的功能。

VC.m

- (void)viewDidLoad {
    [super viewDidLoad];
    //原始对象
    ConcreteComponent *component = [[ConcreteComponent alloc]init];
    //装饰对象
    ConcreteDecoratorA *decoratorA = [[ConcreteDecoratorA alloc]init];
    ConcreteDecoratorB *decoratorB = [[ConcreteDecoratorB alloc]init];
    
    //装饰对象指定原始对象,后面就是用装饰对象。这样既有原始对象的功能,也有装饰对象的功能。
    decoratorA.component = component;
    decoratorB.component = component;
    
    [decoratorA operation];
    [decoratorB operation];
}

Decorator.h // 装饰类

@interface Decorator : Component
//装饰对象需要装饰的原始对象
@property(nonatomic, strong)Component *component;
@end

Decorator.m

@implementation Decorator
-(void)operation{
    if (self.component) {
        [self.component operation];
    }
}
@end

ConcreteDecoratorA.h // 装饰者A

@interface ConcreteDecoratorA : Decorator
@end

ConcreteDecoratorA.m

@implementation ConcreteDecoratorA

-(void)operation{
    [super operation];
    [self addedBehavior]; // 添加的装饰功能
}
- (void)addedBehavior{
    NSLog(@"ConcreteDecoratorA添加的装饰功能,相当于对Component进行装饰");
}
@end

设计图

相关文章

  • 结构型模式:装饰模式

    文章首发:结构型模式:装饰模式 七大结构型模式之四:装饰模式。 简介 姓名 :装饰模式 英文名 :Decorato...

  • JavaScript 设计模式核⼼原理与应⽤实践 之 结构型设计

    JavaScript 设计模式核⼼原理与应⽤实践 之 结构型设计模式 装饰器模式,又名装饰者模式。它的定义是“在不...

  • 结构型之四-装饰模式

    Decrator(装饰模式) 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。de...

  • 【设计模式】结构型设计模式汇总

    结构型设计模式汇总 结构型设计模式名称 结构型设计模式主要包括 7 大类: 代理模式 桥接模式 装饰器模式 适配器...

  • 设计模式之装饰器模式

    也称装饰者模式、装饰器模式、Wrapper、Decorator。 装饰模式是一种结构型设计模式,允许你通过将对象放...

  • 设计模式~装饰器-[Android_YangKe]

    装饰器模式: 装饰器模式(Decorator Pattern)又名装饰者,是项目中比较常用的一种设计模式(结构型模...

  • 装饰模式

    介绍 装饰模式(Decorator Pattern) 也称为包装模式(Wrapper Pattern),结构型设计...

  • 装饰器模式

    title: 装饰器模式date: 2021-11-05 13:58:21 前言 装饰器模式是一种结构型设计模式,...

  • 装饰者模式

    一、前言 装饰模式(Decorator Pattern)也称为包装模式(Wrapper Pattern),结构型设...

  • 装饰者模式和代理模式

    装饰者模式和代理模式 装饰者模式 名称:Decorator 分类:结构型模式 意图:动态的为目标对象增加功能,比继...

网友评论

      本文标题:结构型之四-装饰模式

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