美文网首页《设计模式专栏》
《设计模式-开放-封闭原则以及装饰模式》

《设计模式-开放-封闭原则以及装饰模式》

作者: 不够果断是种癌 | 来源:发表于2018-09-18 15:16 被阅读20次

注意:本文参考于《大话设计模式》。

何为开放-封闭原则,是说软件实体(类,模块,函数等等)应该可以扩展,但是不可以修改。

我们做任何系统的时候,都不要指望一开始需求就能确定,就再也不会变化。这是不现实也不科学的想法,而既然需求是一定会变化的,那么如何如何实现这点呢。就是要多扩展,少修改。你设计的时候,时刻要考虑,尽量然后这个类足够好,写好了就不要去修改了,新需求以及新变动来了后,能不动则不动。

当然这件事情不是绝对的。无论模块是多么的封闭,都不能存在一些无法对之封闭的计划。设计人员写代码的时候,需要猜出最有可能发生变化种类,然后构造抽象来隔离那些变化。切记去烂抽离。

开放原则就此结束,接下来我们这边介绍装饰模式。

首先我们这边看看需求:还是拿大话设计模式里面的例子来讲。

首先有个人,他有一个行为叫做形象展示。他有的衣服有大t恤,大垮裤,球鞋,西装,领带,皮鞋等。

这里的代码应该怎么去写呢?

首先我们这边创建一个person的对象,然后再去创建一个服饰的对象抽象化,然后这个服饰对象有个打扮的方法。

装饰模式:动态的给一个对象添加一些额外的职责,就单一增加功能来说。这个比增加子类更加的灵活。方法里面有一个装饰的过程,已至于最后传出装饰的衣服。简单点说,装饰模式是为已有的功能添加更多的功能的一种方式。

打个比方:当系统需要新功能的时候,是向旧的类添加新的代码。这些新加的代码通常装饰了原有类的核心职责和主要行为。这些新加的东西仅仅是为了满足一些只在某种特定的情况下才会执行的特殊行为职责。而装饰模式则在这里提供了一个非常好的解决方案。它把每个要装饰的功能放在单独的类中,并且让这个类包装它需要装饰的对象。因此执行特殊行为时,就可以有选择和顺序的包装需要包装的那个对象。

优点:把核心功能和装饰功能分开,并且把装饰类去掉还可以简化原有的类。暂时就这么多后期再补充。

相关文章

  • 《设计模式-开放-封闭原则以及装饰模式》

    注意:本文参考于《大话设计模式》。 何为开放-封闭原则,是说软件实体(类,模块,函数等等)应该可以扩展,但是不可以...

  • 1.3:装饰对象:装饰者模式

    1:开放-关闭原则 2:装饰者模式,一个完美实现“开放-封闭原则”的设计模式。 记住这么一句话:装饰者类反应出被装...

  • 设计模式

    1、简单工厂模式2、策略模式3、单一指责原则4、开放-封闭原则5、依赖倒转原则6、装饰模式7、代理模式8、工厂方法...

  • 设计模式03-装饰者设计模式

    [toc] 设计模式03-装饰者设计模式 主要来源Head First设计模式(书) 第5个设计原则(开放-关闭原...

  • Spring中的设计模式

    回顾一下设计模式,Spring中使用的设计模式 设计模式的六大原则 总原则-开闭原则对扩展开放,对修改封闭。在程序...

  • 设计模式学习笔记,简述概要

    设计模式 学习简述 设计模式简要学习笔记 原则 口诀:“单开迪里接依” 单一职责 开闭原则(扩展开放、修改封闭) ...

  • 设计模式 -- 开放-封闭原则

    表述(对扩展开放,对修改关闭) 尽量让设计的类做好后就不再修改,如果有新的需求,通过新加类的方式来满足,而不去修改...

  • 设计模式笔记汇总

    目录 设计原则 “依赖倒置”原则 未完待续... 设计模式 设计模式——策略模式 设计模式——装饰者模式 设计模式...

  • 设计模式原则

    设计模式的几大原则 Ø 开放-封闭原则:对扩展开放,对修改封闭,可以用新的类来解决问题 Ø 单一职责原则:设计...

  • 单例模式、工厂方法模式、代理模式、装饰者模式、观察者模式

    设计模式六大原则 单一职责 开放封闭 里氏替换原则 依赖倒置 迪米特原则 接口隔离原则 单例设计模式 饿汉式 这种...

网友评论

    本文标题:《设计模式-开放-封闭原则以及装饰模式》

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