欢迎来到天天文库
浏览记录
ID:57036171
大小:234.00 KB
页数:20页
时间:2020-07-27
《软件构件与中间件技术课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、设计模式1存在超越对象的东西相关的概念包括:Pattern(模式)Architecture(体系结构)Aspect(侧面)GradyBooch20012内容1、Motivation2、Definition3、Benefit4、Example5、Category31、Motivation开发出好的软件十分困难好软件的特征:缺陷少灵活性高易于维护易于扩展困难所在:对象发现对象粒度对象接口对象之间的继承关系对象之间的包含关系4解决思路:软件是知识的固化人获取知识的三方面:现有(没有创造)实践(主要途径)类比(易被忽视)复用以往的成功经验,形成模式其它行业有无这类问题?怎样解决的?文学
2、创作:隐喻、倒叙、悲剧、喜剧影视创作建筑创作52、DefinitionChristopherAlexander:“Eachpatterndescribesaproblemwhichoccursoverandoveragaininourenvironment,andthendescribesthecoreofthesolutiontothatproblem,insuchawaythatyoucanusethissolutionamilliontimesover,withouteverdoingitthesamewaytwice”设计模式描述了一个通用的设计结构该结构能被用来构造可
3、复用的面向对象设计确定了所包含的类、实例以及它们的角色、协作方式63、Benefit1)确定系统对象2)决定对象粒度3)指定对象接口4)描述对象实现5)运用复用机制6)平滑结构映射7)支持需求变化原则:1)针对接口编程,而不是针对实现编程2)优先使用对象组合,而不是类继承74、ExampleLexi1)文档结构2)格式策略3)界面修饰4)多种视感标准5)多种窗口系统6)统一用户操作7)拼写检查8(1)文档结构关于文本(字符、行、段)与图形(线、框)的排列如何对这些元素进行统一处理?如何进行递归组合?9组合模式(Composite)目的:将对象组合成树形结构以表示子包含的“整体-
4、部分”层次结构途径:定义一个抽象类,既代表元素,有代表元素的包含者结构:10(2)格式策略如何处理文本的分行?是否支持:指定宽度、对齐方式、行距调整等如何才能易于改变分行策略?11策略模式(Strategy)目的:将可以选择的算法封装起来,作为一个可以互相替换的类途径:定义支持各个具体算法的抽象策略结构:12(3)界面修饰各种边界:滚动条、标题等的灵活定制13修饰模式(Decorator)目的:方便地给对象添加功能途径:在对象结构中引入修饰对象结构:14(4)多种视感标准如何使系统方便地在Motif、PM、Mac等(类库不同)不同风格的窗口标准中运行?15抽象工厂模式(Abst
5、ractFactory)目的:提供一个创建系列对象的接口,而不必指定具体的类途径:分离“客户”的创建代码与具体实现细节。结构:16(5)多种窗口系统如何使系统方便地在Macintosh、Windows、X等不同的窗口系统中运行?利用AbstractFactory?程序接口不兼容!17桥接模式(Bridge)目的:将系统的抽象部分与实现部分进行分离使它们可以对立地演化途径:在二者之间建立抽象与实现的桥接结构:185、Category19思考题1、什么是设计模式?2、请列举2种设计模式20
此文档下载收益归作者所有