软件设计模式ch1 - 设计模式入门 - 策略模式.ppt_第1页
软件设计模式ch1 - 设计模式入门 - 策略模式.ppt_第2页
软件设计模式ch1 - 设计模式入门 - 策略模式.ppt_第3页
软件设计模式ch1 - 设计模式入门 - 策略模式.ppt_第4页
软件设计模式ch1 - 设计模式入门 - 策略模式.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件设计方法与设计模式,张巨力副教授/系统分析师,设计模型入口策略,1、1、2、3、4、5、6,模拟鸭子应用,继承,分离变化与不变化的部分,包装行为,策略模式,如何使用设计模式?主要内容:1 .鸭子模拟应用、背景、方法、问题、(1)、(2)、(3)、鸭子模拟游戏SimUDuck:各种鸭子在游泳时呱呱叫,(1)背景,(2)方法,(。(3)问题,我们该怎么办?继承如何解决上述问题?(1)继承,但是,(1)继承,(1)继承,您可以在继承的同时使用接口,(2)接口,(2)接口,那么当前的设计呢?(2)接口,(2)重复代码会随着继承规模的增加而增加和扩展,(3)问题,(3)我该怎么办?问题,软件开发所面

2、临的问题,如何设计,软件开发所面临的问题,软件开发所面临的问题(2)如何设计,其结果是:代码更改所造成的后果减少了。该系统更加灵活。(2)如何设计,取出容易改变的部分,(3)将改变的部分和未改变的部分分开,(3)将改变的部分和未改变的部分分开,以及(4)包装行为、设计行为、实现行为、进一步设计。动态行为、(6)、封装行为、设计原则2:为接口而编程,而不是为实现而编程,(1)设计行为,那么duck行为将被放在一个类中,所以duck类不需要知道行为的实现细节。(a)设计行为,为什么不使用抽象类,然后使用多态性?(1)设计行为,例如:(1)设计行为,存在问题:为实现而编程,为接口/超类型而编程,(1

3、)设计行为,甚至更好的是,在运行时指定特定的实现对象,(1)设计行为,两个行为接口,以及(2)实现行为,这充分体现了继承的优点,摒弃了它的缺点,(2)实现行为,(2)实现行为,进行集成,使用“委托”方法处理duck行为并添加两个实例变量,(3)进一步设计, 要实现行为“委托”,(3)要进一步设计,如何设置行为实例变量,(3)要进一步设计,那么我们就要看设计效果是否达到。(3)进一步设计,Duck.java,(4)测试,FlyBehavior.java,(4)测试,QuackBehavior.java,(4)测试,MiniDuckSimulator.java,(4)测试,运行,(4)测试,让我们

4、看看如何设置动态行为,(。向鸭子类添加两种方法:(5)动态行为,创建一个新的类模型鸭子,(5)动态行为,创建一个新的行为类FlyRocketPowered,(5)动态行为,测试,以及(5)动态行为。让我们看看整体布局。(6)包装行为,设计原则3:多组合少继承。包装行为,这种设计就是策略模式;5.策略模式,定义,餐厅启示,办公室场景,术语的力量。,(一(定义,下面有什么不同?(二(餐厅启示,(三(办公室场景,(三(办公室场景,模式允许你用更少的资源说更多的话。模式层面的谈话让你在设计中停留的时间更长。共享词汇可以加速你的开发团队。共享词汇表鼓励更多初级开发人员跟上进度(四(术语的威力,六、如何使用设计模式?如何使用设计模式?错误观念,(一),(二),想想看,(一(如何使用设计模式?(二(错误观念,(二(错误观念,七、总结,抽象封装多态性继承,封装变化。偏爱组合而不是继承。编程到接口,而不是实现。策略定义一系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论