文档详情

C设计模式设计模式概述.ppt

发布:2017-05-25约6.3千字共37页下载文档
文本预览下载声明
设计模式的定义与分类 设计模式的分类 根据范围,即模式主要是处理类之间的关系还是处理对象之间的关系,可分为类模式和对象模式两种: 类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是一种静态关系 对象模式处理对象间的关系,这些关系在运行时变化,更具动态性 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;
显示全部
相似文档