Java面向对象程序设计第8章_几个重要的设计模式.ppt
《Java面向对象程序设计第8章_几个重要的设计模式.ppt》由会员分享,可在线阅读,更多相关《Java面向对象程序设计第8章_几个重要的设计模式.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java面向对象程序设计面向对象程序设计 第第8章章配合例子源代码一起使用例子源代码一起使用Power point 制作:耿祥义 张跃平几个重要的设计模式 2010-1-101主要内容主要内容设计模式简介设计模式简介策略模式策略模式中介者模式中介者模式模板方法模式模板方法模式难点难点策略模式策略模式导读导读 一个好的设计系统往往是易维护、易扩展、易复用的。设计模式从一些优秀的设计系统中总结出的设计精髓,因此学习设计模式对提高设计能力无疑是非常有帮助的。可以是通过讲解设计模式体现面向对象的设计思想,这非常有利于更好地使用面向对象语言解决设计中的诸多问题。2010-1-1028.1 设计模式简介设
2、计模式简介 8.1.1 什么是设计模式什么是设计模式 一一个个设设计计模模式式(patternpattern)是是针针对对某某一一类类问问题题的的最最佳佳解解决决方方案案,而而且且已已经经被被成成功功应应用用于于许许多多系系统统的的设设计计中中,它它解解决决了了在在某某种种特特定定情情景景中中重重复复发发生生的的某某个个问问题题,即即一一个个设设计计模模式式是是从从许许多多优优秀秀的的软软件件系系统统中中总总结结出出的的成成功功的的可可复复用用的的设计方案。设计方案。2010-1-1038.1.2 学习设计模式的必要性学习设计模式的必要性 学学习习并并使使用用模模式式能能使使设设计计的的系系统
3、统易易维维护护、可可扩扩展性强、复用性好。展性强、复用性好。学学习习设设计计模模式式不不仅仅可可以以使使我我们们了了解解、正正确确使使用用设设计计模模式式,更更重重要要的的是是可可以以使使我我们们更更加加深深刻刻地地理理解解面面向向对对象象的的设设计计思思想想,非非常常有有利利于于我我们们更更好好地地使使用用面面向对象语言解决设计中的诸多问题。向对象语言解决设计中的诸多问题。2010-1-1048.1.3 什么是框架什么是框架 框框架架是是针针对对某某个个领领域域,提提供供用用于于开开发发应应用用系系统统的的类类的的集集合合,程程序序设设计计者者可可以以使使用用框框架架提提供供的的类类设设计计
4、一一个个应应用用程程序序,而而且且在在设设计计应应用用程程序序时时可可以针对特定的问题使用某个设计模式。以针对特定的问题使用某个设计模式。框架与模式相比:框架与模式相比:1 1层次不同层次不同 2 2范围不同范围不同 3 3相互关系密切相互关系密切 2010-1-1058.2 策略模式策略模式 8.2.1 概述概述 基基于于“面面向向抽抽象象编编程程”的的原原则则就就容容易易使使设设计计的的类类应应对对用用户户需需求求的的变变化化,使得设计的系统满足使得设计的系统满足“开开-闭闭”原则原则。2010-1-1068.2.2 策略模式的定义策略模式的定义 策策略略模模式式的的定定义义:定定义义一一
5、系系列列算算法法,把把它它们们一一个个个个封封装装起起来来,并并且且使使它它们们可可相相互互替替换换。本本模式使得算法可独立于使用它的客户而变化。模式使得算法可独立于使用它的客户而变化。2010-1-1078.2.3 模式的结构模式的结构 在在策策略略模模式式中中,封封装装算算法法标标识识的的接接口口称称作作策策略略,实实现现该该接接口口的类称作的类称作具体策略具体策略。1.1.角色角色:策略策略(Strategy)Strategy),具体策略具体策略(ConcreteStrategy)ConcreteStrategy),上下文上下文(ContextContext)。2.2.策略模式的策略模式
6、的UMLUML类图类图 3.结构的描述结构的描述:策略策略(Strategy)Strategy)Computable.javaComputable.java 具体策略具体策略(ConcreteStrategy)ConcreteStrategy)StrategyOne.javaStrategyOne.java ,StrategyTwo.java,StrategyThree.javaStrategyTwo.java,StrategyThree.java 上下文上下文(ContextContext)GymnasticsGame.java GymnasticsGame.java 2010-1-1088
7、.2.4 模式的使用模式的使用 应应用用程程序序Application.javaApplication.java中中使使用用了了策策略略模模式式中中(8.2.3)所所涉涉及及的的类类,应应用用程程序序在在使使用用策策略略模模式式时时,需需要要创创建建具具体体策策略略的的实实例例,并并传传递递给给上下文对象。上下文对象。2010-1-1098.2.5 策略模式的优点策略模式的优点 上上下下文文(Context)Context)和和具具体体策策略略(ConcreteStrategy)ConcreteStrategy)是是松松耦耦合合关关系系。因因此此上上下下文文只只知知道道它它要要使使用用某某一一
8、个个实实现现StrategyStrategy接接口口类类的的实实例例,但但不不需需要要知知道道具体是哪一个类。具体是哪一个类。策策略略模模式式满满足足“开开-闭闭原原则则”。当当增增加加新新的的具具体体策策略略时时,不不需需要要修修改改上上下下文文类类的的代代码码,上下文就可以引用新的具体策略的实例。上下文就可以引用新的具体策略的实例。2010-1-10108.2.6 适合使用策略模式的情景适合使用策略模式的情景 一一个个类类定定义义了了多多种种行行为为,并并且且这这些些行行为为在在这这个个类类的的方方法法中中以以多多个个条条件件语语句句的的形形式式出出现现,那那么么可可以以使使用用策策略略模
9、模式式避避免免在在类类中中使使用用大大量量的的条件语句。条件语句。程程序序不不希希望望暴暴露露复复杂杂的的、与与算算法法相相关关的的数数据结构,那么可以使用策略模式封装算法。据结构,那么可以使用策略模式封装算法。需要使用一个算法的不同变体。需要使用一个算法的不同变体。2010-1-10118.2.7 策略模式相对继承机制的优势策略模式相对继承机制的优势 策策略略模模式式采采用用的的是是组组合合方方法法,即即将将一一个个类类的的某某个个方方法法的的内内容容的的不不同同变变体体分分别别封封装装在在不不同同的的类类中中,而而该该类类仅仅仅仅依依赖赖这这些些类类所所实实现现的的一一个个共同接口。共同接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 程序设计 几个 重要 设计 模式
限制150内