美文网首页
大话设计模式 装饰模式

大话设计模式 装饰模式

作者: 愿成有心人 | 来源:发表于2017-06-21 23:36 被阅读0次
大话设计模式 装饰模式

一层继承一层。装饰模式是为已有功能动态地添加更多功能的一种方式。关键词是添加更多功能。

当系统需要新功能时,是向旧的类中添加新的代码。这些新加的代码通常装饰了原有类的核心职责或主要功能,而这些代码仅在特定情况下才需要。装饰模式把每个要装饰的功能放在单独的类,当执行时客户代码可以有选择,按顺序使用装饰功能包装对象。

他的好处是有效地把类的核心职责和装饰功能区分开,而且除去相关类的重复装饰逻辑。

人类有个show的函数。服饰类继承人类,并拥有一个人类,装饰就是set人类,有一个覆盖的show 函数里面调用自身人类的show。具体类的西裤,大衣类都有继承服饰类,覆盖show 函数,里面是装饰逻辑和调用父类的show。客户端首先创建人类,然后按顺序西裤set 人,大衣set前面的西裤,最后大衣show。这样就会先做了穿大衣的逻辑,然后调用服饰类的show,这个show调用了set进去的西裤的show,所以继续做西裤的逻辑,然后重复迭代,调用人类的show逻辑。

这样的确一层叠一层,也可以按顺序。感觉就是一直调用set进来的类的同一个函数。继承是为了可以set的使用用泛型,以后更动态的添加新类,不影响其他的装饰类。

应用:加密数据,过滤词汇都可以是数据持久化的装饰功能,保证装饰类之间彼此独立,这样就可以任意顺序组合。

相关文章

  • iOS开发之设计模式 - 装饰模式

    由《大话设计模式 - 装饰模式》的OC和部分Swift的语言转义 装饰模式 继上一篇《策略模式》 装饰模式,动态地...

  • iOS开发之设计模式 - 装饰模式

    由《大话设计模式 - 装饰模式》的OC和部分Swift的语言转义 装饰模式 继上一篇《策略模式》[https://...

  • 大话设计模式——装饰模式

    需求 写一个给人模拟搭配不同服饰的程序,可以给人换各种各样的衣服裤子的形象。 初步实现 需求比较简单,直接上代码:...

  • 大话设计模式 装饰模式

    一层继承一层。装饰模式是为已有功能动态地添加更多功能的一种方式。关键词是添加更多功能。 当系统需要新功能时,是向旧...

  • iOS开发之设计模式 - 代理模式

    由《大话设计模式 - 代理模式》的OC和部分Swift的语言转义 代理模式 继上一篇《装饰模式》[https://...

  • iOS开发之设计模式 - 代理模式

    由《大话设计模式 - 代理模式》的OC和部分Swift的语言转义 代理模式 继上一篇《装饰模式》 代理模式 小明追...

  • 大话设计模式之装饰模式

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

  • 2018-01-07

    大话设计模式——开篇 1、什么是设计模式? 设计模式(Design Pattern)...

  • 9、结构型模式-装饰器设计模式

    1、如虎添翼的设计模式-装饰器设计模式 简介:讲解-装饰器设计模式介绍和应用场景 装饰器设计模式(Decorato...

  • Design Patterns Talk - Decorator

    《大话设计模式》第 6 章 - 装饰模式 的 Swift 实现。 问题 对一个人进行装扮,衣服、鞋子、领带等等,考...

网友评论

      本文标题:大话设计模式 装饰模式

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