- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计模式的定义与分类 设计模式的分类 根据范围,即模式主要是处理类之间的关系还是处理对象之间的关系,可分为类模式和对象模式两种: 类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是一种静态关系 对象模式处理对象间的关系,这些关系在运行时变化,更具动态性 GoF设计模式简介 范围\目的 创建型模式 结构型模式 行为型模式 类模式 工厂方法模式 (类)适配器模式 解释器模式 模板方法模式 对象模式 抽象工厂模式 建造者模式 原型模式 单例模式 (对象)适配器模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 职责链模式 命令模式 迭代器模式 中介者模式 备忘录模式 观察者模式 状态模式 策略模式 访问者模式 GoF设计模式简介 创建型模式 抽象工厂模式(Abstract Factory) ★★★★★ 建造者模式(Builder) ★★☆☆☆ 工厂方法模式(Factory Method) ★★★★★ 原型模式(Prototype) ★★★☆☆ 单例模式(Singleton) ★★★★☆ GoF设计模式简介 结构型模式 适配器模式(Adapter) ★★★★☆ 桥接模式(Bridge) ★★★☆☆ 组合模式(Composite) ★★★★☆ 装饰模式(Decorator) ★★★☆☆ 外观模式(Facade) ★★★★★ 享元模式(Flyweight) ★☆☆☆☆ 代理模式(Proxy) ★★★★☆ GoF设计模式简介 行为型模式 职责链模式(Chain of Responsibility) ★★☆☆☆ 命令模式(Command) ★★★★☆ 解释器模式(Interpreter) ★☆☆☆☆ 迭代器模式(Iterator) ★★★★★ 中介者模式(Mediator) ★★☆☆☆ 备忘录模式(Memento) ★★☆☆☆ 观察者模式(Observer) ★★★★★ 状态模式(State) ★★★☆☆ 策略模式(Strategy) ★★★★☆ 模板方法模式(Template Method) ★★★☆☆ 访问者模式(Visitor) ★☆☆☆☆ 设计模式的优点 融合了众多专家的经验,并以一种标准的形式供广大开发人员所用 提供了一套通用的设计词汇和一种通用的语言,以方便开发人员之间进行沟通和交流,使得设计方案更加通俗易懂 让人们可以更加简单方便地复用成功的设计和体系结构 使得设计方案更加灵活,且易于修改 将提高软件系统的开发效率和软件质量,且在一定程度上节约设计成本 有助于初学者更深入地理解面向对象思想,方便阅读和学习现有类库与其他系统中的源代码,还可以提高软件的设计水平和代码质量 END www.ChinaSA.info www.ChinaSA.info Design Patterns 设计模式概述 刘 伟 (Sunny) weiliu_china@126.com 大纲 引言 设计模式的诞生与发展 设计模式的定义与分类 GoF设计模式简介 设计模式的优点 引言 从三个实例说起…… 实例一: 庞大的跨平台图像浏览系统 实例二: 不够灵活的影院售票系统 实例三: 重用第三方算法库时面临的问题 引言 庞大的跨平台图像浏览系统 实例说明 某软件公司要开发一个跨平台图像浏览系统,要求该系统能够显示BMP、JPG、GIF、PNG等多种格式的文件,并且能够在Windows、Linux、Unix等多个操作系统上运行。系统首先将各种格式的文件解析为像素矩阵(Matrix),然后将像素矩阵显示在屏幕上,在不同的操作系统中可以调用不同的绘制函数来绘制像素矩阵。 引言 庞大的跨平台图像浏览系统 初始设计方案 引言 庞大的跨平台图像浏览系统 问题 (1) 采用了多层继承结构,导致系统中类的个数急剧增加,具体层的类的个数 = 所支持的图像文件格式数×所支持的操作系统数 (2) 系统扩展麻烦,无论是增加新的图像文件格式还是增加新的操作系统,都需要增加大量的具体类,这将导致系统变得非常庞大,增加运行和维护开销 引言 不够灵活的影院售票系统 实例说明 某软件公司为某电影院开发了一套影院售票系统,在该系统中需要为不同类型的用户提供不同的电影票打折方式,具体打折方案如下: (1) 学生凭学生证可享受票价8折优惠; (2) 年龄在10周岁及以下的儿童可享受每张票减免10元的优惠(原始票价需大于等于20元); (3) 影院VIP用户除享受票价半价优惠外还可进行积分,积分累计到一定额度可换取电影院赠送的奖品。 该系统在将来可能还要根据需要引入新的打折方式。 引言 不够灵活的影院售票系统 初始实现方案 //电影票类 class MovieTicket { private double price;
文档评论(0)