收藏 分享(赏)

软件工程与软件自动化 (18).pdf

上传人:职教中国 文档编号:13788425 上传时间:2022-10-23 格式:PDF 页数:15 大小:2.49MB
下载 相关 举报
软件工程与软件自动化 (18).pdf_第1页
第1页 / 共15页
软件工程与软件自动化 (18).pdf_第2页
第2页 / 共15页
软件工程与软件自动化 (18).pdf_第3页
第3页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、模式与设计模式 什么是模式 模式记录了专家的经验,并且让非专家也能理解,其核心是对真实世界的抽象和组织 模式是发展的,是经过验证的专家经验的重用 模式的名称构成了一份词汇表,帮助开发者更好的交流,更快的理解一个系统,更容易的重组一个系统 模式的构成 语境 问题 解决方案 模式分类 代码 模式 特定编程语言相关 分析 模式 透过需求表面了解 本质 问题 设计模式 局部强化 架构模式 软件 系统的基础结构组织 模型 建议学习顺序 代码模式(忽略) 设计模式(重点) 分析模式(了解) 架构模式(了解) 架构模式 架构 模式描述软件系统里的基本的结构组织或 纲要 架构 模式提供一些事先定义好的子系统,

2、指定它们的责任,并给出把它们组织在一起 的原则和指南 部分架构模式和设计模式重叠 架构 模式常常可以分解成很多个设计模式的联合 使用 设计模式 建筑模式: 建筑的永恒之道 ( The Timeless Way of Building) 专家们使用 迁移的思想得出软件设计模式理论 设计 模式是一种对一套相互作用的类的 描述 设计模式是一种实践的总结,是 OOP最直接的表现 设计 模式的根本意图是适应需求 变化 程序员应该掌握设计模式 Gof设计模式分类 结构型模式 将一组对象组合成更大的结构 行为型模式 定义系统内对象间的通信,以及复杂程序中的流程控制 创建 型 模式 通过使用更复杂的创建对象的

3、方法取代 new,换取了对需求变更的从容应对 工厂模式 工厂模式专门负责将大量有共同接口的类 实例化 工厂 模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个 类 工厂模式的形式 简单 工厂模式 ( Simple Factory) 工厂 方法模式 ( Factory Method) 抽象 工厂模式 ( Abstract Factory) 简单工厂模式根据提供给它的数据,返回几个可能类中的一个类的 实例 简单工厂模式 实际上 不属于 GoF 设计模式, 但作为入门比较容易 理解 单件模式 单件模式做为 “全局变量”的替代品 出现 具有 全局变量的特点:全局可见、贯穿应用程序的整个

4、生命期 也 具有全局变量不具备的性质:同类型的对象实例只可能有一 个 单件模式实现方法 隐藏( private)构造函数 类内维护一个静态、私有的本类对象的 引用 提供静态公共函数,如 GetInstance(),返回类型为该类的唯一对象的引用 观察者模式 定义 对象间的一种一对多的依赖 关系 当 一个对象的状态发生改变时 , 所有依赖于它的对象都得到通知并被自动更新 应用场景:当 对一个对象的改变需要同时改变其它对象 , 而不知道具体有多少对象有待 改变 典型应用: MVC架构中,将 表示层和数据逻辑层 分开 ,逻辑层数据变化后需要 通知 多 个 表示层 观察者模式结构 设计模式不是全部 滥

5、用设计模式造成过度设计 程序结构的灵活性设计不是基于需求变更的要求 设计 模式不应该是一开始就应该关注的 重构的主要目的不是为了多用设计模式 程序结构的好坏与使用的设计模式的多少无关 体现设计意图,适度设计 从 需求到达 设计模式 模式尤其是设计模式常常 扮演着过度设计的 角色 解决避免过度设计的方法:重构 从需求通过重构到达 模式 重构 的结果未必一定为某种设计 模式 设计模式是面向对象设计的基石 TDD和重构是设计演进的基石 推荐书籍 模式小结 不同的模式位于不同的层次 架构模式 大尺度,系统级,全局 设计模式 中等尺度,子系统,局部 分析模式 策略,业务模型 代码 模式 小 尺度,特定语言,编程技巧 下级层次不会影响到上一级层次 谢谢大家

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报