- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计模式-1.概述课件
第一章 软件体系结构概述;授课教师
姓名:张伟芝
邮箱:zhangweizhi@edu2act.org
电话QQ:;课程内容
课程简介
课程内容及学习方式
第一个设计模式——单例模式
好设计的原则;课程内容
课程简介
课程内容及学习方式
第一个设计模式——单例模式
好设计的原则;;教材及参考书;考核方式
必修课
36学时、2学分
平时成绩:30%
平时表现:10%(课堂提问、课堂纪律、课堂出勤)
平时作业:20%(以4~5人为一个小组)
期末成绩:70%
考试形式:闭卷、笔试
;课程内容
课程简介
课程内容及学习方式
第一个设计模式——单例模式
好设计的原则;我们讲什么?
设计模式
体系结构模式;什么是模式?
模式是一条由三部分组成的规则。
一个特定环境、一个问题、一个解决方案。;他们之间的关系;学习的方式;;全国交通违法数据联网——环境;全国交通违法数据联网——问题
平台异构
语言异构
系统架构异构
;全国交通违法数据联网——解决方案;课程内容
课程简介
课程内容及学习方式
第一个设计模式——单例模式
好设计的原则;第一个设计模式——单例模式;第一个设计模式——单例模式
单例模式要解决的问题——独生子女
解决方案——Static;第一个设计模式——单例模式;课程内容
课程简介
课程内容及学习方式
第一个设计模式——单例模式
好设计的原则;设计正在“腐烂”的征兆
过于僵硬Rigidity
过于脆弱Fragility
不可重用性immobility
粘滞性过高viscosity
好的系统设计应该具备如下三个性质
可扩展性(Extensibility)
灵活性(Flexibility)
可插入性(Pluggability)
;面向对象设计原则;单一职责原则
高内聚性原则
避免相同的职责(也称为功能)分散到不同的类中实现。
避免一个类承担过多的职责。;单一职责原则示例
类的设计主要工作是“发现职责”并“分离职责”;遵守单一职责原则的设计模式
工厂模式
分离对象的“创建”和对象的“使用”;遵守单一职责原则的设计模式
模板方法模式
分离 “共性功能实现”和“个性扩展”;遵守单一职责原则的设计模式
命令模式
分离“命令的请求者”和“命令的实现者”;遵守单一职责原则的设计模式
代理模式
分离 “服务的请求者”和“服务的提供者”;遵守单一职责原则的体系结构模式
一个模块、子系统也应该仅有一个引起它变化的原因;开闭原则
Open(Open for extension)
模块的行为必须是开放的、支持扩展的,而不是僵化的
Closed(Closed for modification)
在对模块的功能进行扩展时,不应该影响或大规模地影响已有的程序模块
绝大部分的设计模式都符合开闭原则
抽象化是开闭原则的关键
;里氏代换原则
主要是针对继承的设计原则
子类型必须能够替换掉它们的父类型、并出现在父类能够出现的任何地方。
子类可以扩展父类的功能,但不能改变父类原有的功能。
;里氏替换原则
子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
子类中可以增加自己特有的方法。
当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。
;依赖倒置原则
将依赖关系倒置为依赖接口
上层模块不应该依赖于下层模块,它们共同依赖于一个抽象
父类不能依赖子类,它们都要依赖抽象类
抽象不能依赖于具体,具体应该要依赖于抽象
;接口隔离
一个类对另外一个类的依赖性应当是建立在最小的接口上
客户端不应该依赖那些它不需要的接口(方法);如何避免不良好的接口设计
用多个专门的接口,而不使用单一的总接口。
一个接口就只代表一个角色
使用接口隔离原则拆分接口时,首先必须满足单一职责原则;合成复用原则
又称为组合/聚合复用原则
尽量使用对象组合,而不是继承来达到复用目的
一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用一些已有的对象
新对象通过委派调用已有对象的方法达到复用其已有功能的目的;合成复用原则
继承复用:实现简单,易于扩展,没有足够的灵活性(“白箱”复用 );合成复用原则
组合/聚合复用:耦合度相对较低,选择性地调用成员对象的操作;可以在运行时动态进行。(“黑箱”复用 );迪米特法则
要求一个软件实体应当尽可能少的与其他实体发生相互作用
又称为最少知识原则
不要和“陌生人”说话
只与你的直接朋友通信
每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位;迪米特法则
某系统界面类(如Form1、Form2等类)与数据访问类(如DAO1、DAO2等类)之间的
您可能关注的文档
- 新上岗公务员安全知识培训课件.ppt
- 办税一体化操作流程(市局)课件.ppt
- 汽车4S店客服月报工作总结计划课件.ppt
- 桥牌基础教程1课件.ppt
- 新通信原理第7章第16讲课件.ppt
- 汽车保险理赔现场查勘课件.ppt
- 汽车尾气净化技术4月24日演讲稿5点版本课件.ppt
- 汽车产品可靠性工程技术_可靠性试验课件.ppt
- 汽车服务工程 第十章:汽车服务政策法规课件.ppt
- 汽车企业市场营销管理课件.ppt
- 2024年度党员干部民主生活会班子对照检查材料.docx
- 公司党委领导班子2024年度民主生活会对照检查材料4个带头方面.docx
- 市府办(政府办)领导班子2024年民主生活会会后综合情况报告.docx
- 在2025年市司法局信息宣传工作推进会上的讲话.docx
- 在2025年全省文化旅游高质量发展推进会上的讲话.docx
- 在2025年全区工业、住建大规模设备更新推进会上的讲话.docx
- 党支部2024年组织生活会民主评议党员情况总结报告_1.docx
- 2024年度组织生活会个人对照检查剖析材料.docx
- 镇党委书记2024年度民主生活会对照检查材料1.docx
- 党支部2024年组织生活会民主评议党员情况总结报告.docx
文档评论(0)