ConcreteStrategy上下文Context策略模式的UML类图.PPTVIP

  • 59
  • 0
  • 约3.23千字
  • 约 24页
  • 2018-07-05 发布于天津
  • 举报

ConcreteStrategy上下文Context策略模式的UML类图.PPT

ConcreteStrategy上下文Context策略模式的UML类图

* 第8章几个重要的设计模式 * 主要内容 设计模式简介 策略模式 中介者模式 模板方法模式 难点 策略模式 导读 一个好的设计系统往往是易维护、易扩展、易复用的 。 设计模式从一些优秀的设计系统中总结出的设计精髓,因此学习设计模式对提高设计能力无疑是非常有帮助的。 可以是通过讲解设计模式体现面向对象的设计思想,这非常有利于更好地使用面向对象语言解决设计中的诸多问题。 * §8.1 设计模式简介 §8.1.1 什么是设计模式 一个设计模式(pattern)是针对某一类问题的最佳解决方案,而且已经被成功应用于许多系统的设计中,它解决了在某种特定情景中重复发生的某个问题,即一个设计模式是从许多优秀的软件系统中总结出的成功的可复用的设计方案。 * §8.1.2 学习设计模式的必要性 学习并使用模式能使设计的系统易维护、可扩展性强、复用性好。 学习设计模式不仅可以使我们了解、正确使用设计模式,更重要的是可以使我们更加深刻地理解面向对象的设计思想,非常有利于我们更好地使用面向对象语言解决设计中的诸多问题。 * §8.1.3 什么是框架 框架是针对某个领域,提供用于开发应用系统的类的集合,程序设计者可以使用框架提供的类设计一个应用程序,而且在设计应用程序时可以针对特定的问题使用某个设计模式。 框架与模式相比: 1.层次不同 2.范围不同 3.相互关系密切 * §8.2 策略模式 §8.2.1 概述 基于“面向抽象编程”的原则就容易使设计的类应对用户需求的变化,使得设计的系统满足“开-闭”原则。 * §8.2.2 策略模式的定义 策略模式的定义:定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 * §8.2.3 模式的结构 在策略模式中,封装算法标识的接口称作策略,实现该接口的类称作具体策略。 角色:策略(Strategy),具体策略(ConcreteStrategy),上下文(Context)。 策略模式的UML类图 3.结构的描述 : 策略(Strategy) →Computable.java 具体策略(ConcreteStrategy) →StrategyOne.java , StrategyTwo.java, StrategyThree.java 上下文(Context) →GymnasticsGame.java * §8.2.4 模式的使用 应用程序Application.java中使用了策略模式中(8.2.3)所涉及的类,应用程序在使用策略模式时,需要创建具体策略的实例,并传递给上下文对象。 * §8.2.5 策略模式的优点 ◆上下文(Context)和具体策略(ConcreteStrategy)是松耦合关系。因此上下文只知道它要使用某一个实现Strategy接口类的实例,但不需要知道具体是哪一个类。 ◆策略模式满足“开-闭原则”。当增加新的具体策略时,不需要修改上下文类的代码,上下文就可以引用新的具体策略的实例。 * §8.2.6 适合使用策略模式的情景 ◆一个类定义了多种行为,并且这些行为在这个类的方法中以多个条件语句的形式出现,那么可以使用策略模式避免在类中使用大量的条件语句。 ◆程序不希望暴露复杂的、与算法相关的数据结构,那么可以使用策略模式封装算法。 ◆需要使用一个算法的不同变体。 * §8.2.7 策略模式相对继承机制的优势 策略模式采用的是组合方法,即将一个类的某个方法的内容的不同变体分别封装在不同的类中,而该类仅仅依赖这些类所实现的一个共同接口。 * §8.3 中介者模式 §8.3.1 概述 中介者模式体现了 “多用组合,少用继承”和“低藕合”原则,尤其体现了怎样合理地使用组合。 * §8.3.2 中介者模式的定义 中介者模式的定义:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 * §8.3.3 模式的结构 角色:中介者(Mediator),具体中介者(ConcreteMediator ),同事(Colleague),具体同事(ConcreteColleague)。 中介者模式的UML类图 3.结构的描述 : 同事(Colleague) →Colleague.java 具体中介者(Mediator)→ConcreteMediator.java 具体同事(

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档