`

设计模式之结构性模式

 
阅读更多

 

 

1. 装饰模式

    装饰者模式动态将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。

    装饰者模式的精髓是装饰者与被装饰者是同一种类型,为何,假设他们两个不是同一种类型,DeceratorA装饰了componentA,返回了DeceratorA。如果DeceratorB也想装饰下componentA,那么DeceratorB只看到了DeceratorA而DeceratorB以为是componentA,如果DecetorA没有ComponentA的方法,那么DeceratorB调用的时候则会报错,因为DeceratorB一直以为自己拥有的对象就是ComponentA。

   装饰和继承有什么区别呢?装饰更加弹性。如果采用继承DeceratorA,DeceratorB,DeceratorC,分别向装饰ComponentA的methodA那么A需要有6个子类,因为顺序的问题。如果采用装饰的话,只要三个装饰的子类就可以任意组合啦,所以装饰更具弹性。

 

 

2.外观模式

 

 

3.组合模式

 

 

4.代理模式

  • 大小: 26.1 KB
分享到:
评论

相关推荐

    Java设计模式 设计模式介绍

    章节介绍:1、爪哇语言结构性模式之变压器模式介绍 2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立性模式介绍 4、单态创立性模式介绍 5、单态创立性模式介绍 6、观察者模式介绍7、责任链模式 8、设计模式之...

    c++设计模式-结构型模式-组合模式

    c++设计模式-结构型模式-...有时又叫作整体-部分(Part-Whole)模式,它是一种将对象组合成树状的层次结构的模式,用来表示“整体-部分”的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式。

    设计模式精解-GoF 23种设计模式解析附C++实现源码

    设计模式之于面向对象系统的设计和开发的作用就有如数据结构之于面向过程开发的作用一般,其重要性和必要性自然不需要我赘述。然而学习设计模式的过程却是痛苦的,从阅读设计模式的圣经——GoF的《设计模式:可复用...

    23种设计模式经典案例(C++版)

    使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化。创建型模式 : 通常和对象的创建有关,涉及到对象实例化...

    软件设计模式实验2结构型模式源码

    适配器模式:电子商务网站有购物车的功能,可以把挑选的东西加入购物车,可以把挑选的东西加入购物车、删除或者更改购买数量,并对多个商品进行一次性结算。为了实现订单功能,系统基于MVC模式.... 3.装饰者模式:这...

    C#设计模式.PDF

    五、 透明式的合成模式结构 93 六、 透明式的合成模式实现 94 七、 使用合成模式时考虑的几个问题 97 八、 和尚的故事 98 九、 一个实际应用Composite模式的例子 98 C#设计模式(12)-Decorator Pattern 101 一、 ...

    实用J2EE设计模式编程指南

    第3章 持久性框架设计模式 开始模型 何谓持久性框架 TitleDAO会话Bean Value Object模式 Service Locator模式 使用持久性框架 持久性框架策略 小结 第4章 改进性能与伸缩性的设计模式 性能问题的原因 伸缩性问题...

    23种设计模式项目实例

    结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、...

    尚硅谷设计模式源码笔记课件.zip

    本课程针对上述问题,有针对性的进行了升级 (1) 授课方式采用 图解+框架源码分析的方式,让课程生动有趣好理解 (2) 系统全面的讲解了设计模式,包括 设计模式七大原则、UML类图-类的六大关系、23种设计模式及其分类,...

    【资源免费下载】Java代码积累丨大话设计模式(Java实现版本)、线程协作

    Java代码积累:并发 设计模式 数据结构 使用容器 实用 类 基础知识 并发性 演示线程的生命周期 生产者-消费者 设计模式参考《大话设计模式》 工厂简单模式 创造型模式 工厂方法模式 抽象工厂模式 原型模式 建造者...

    设计模式整体框架与结构

    分类:设计模式通常分为三类:创建型、结构型和行为型。每一类都包含了针对特定问题的一组解决方案。 原则:设计模式遵循六大原则,包括开闭原则、里氏替换原则、依赖倒置原则等,这些原则指导开发者如何正确地应用...

    设计模式部分习题集锦,程序员必看设计模式

    有关于设计模式的部分习题: GOF模式分为几种,每种包含哪些模式?...行为性设计模式:责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略者模式,

    设计模式.xmind

    该思维导图主要是对设计模式的知识进行了一个整体的复习和归纳,包括如下几个大模块:类之间关系,7大设计原则,创建型设计模式,结构性设计模式,行为型设计模式(待完善),每个模块又具体了分析了各个设计模式的...

    23种设计模式详细讲解

    23种设计模式详细讲解 所有结构良好的面向对象软件体系结构中都包含了许多模式。实际上,当我评估一个面向对象系统的质量时,所使用的方法之一就是要判断系统的设计者是否强调了对象之间的公共协同关系。在系统开发...

    设计模式大作业(含源代码+PPT+报告)

    本科阶段写过一个小游戏,是一门课的大作业,当时能力有限,代码能力以及对设计模式的理解和运用都不够,后来研究生期间,由于《软件结构设计与模式分析》这门课的期末考试需要我们编写并分析一个软件,软件类型不限...

    设计模式 GOF 23

    本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用...

    传智播客C++设计模式教程

    使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化; 设计模式是软件工程的基石脉络,如同大厦的结构一样。 ...

    软件设计模式作业 结构型设计模式

    电子商务网站有购物车的功能,可以把挑选的东西加入购物车,可以把挑选的东西加入购物车、删除或者更改购买数量,并对多个商品进行一次性结算。 这是一个关于相亲的故事。某家有女初长成,七大姑八大姨欲帮忙寻得...

    设计模式:可复用面向对象软件的基础--详细书签版

     “[设计模式]在实用环境下特别有用,因为它分类描述了一组设计良好,表达清楚的面向对象软件设计模式。整个设计模式领域还很新,本书的四位作者也许已占据了这个领域造诣最深的专家中的半数,因而他们定义模式的方法...

Global site tag (gtag.js) - Google Analytics