java设计模式耿祥义PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
01.08.2020
10 10
2.2 开-闭原则
设计应当对扩展开放,对修改关闭。
如果您的设计遵守了“开-闭原则”,那 么这个设计一定是易维护的,因为在设计中 增加新的模块时,不必去修改设计中的核心 模块。
01.08.2020
11 11
2.3 高内聚-低耦合原则
如果类中的方法是一组相关的行为,则称 该类是高内聚的,反之称为低内聚的。
Java设计模式
01.08.2020
1
1
整体 概述
一 请在这里输入您的主要叙述内容
二
请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
2
第一章 设计模式简介
1.1 什么是设计模式
每一个设计模式描述一个在我们周围 不断重复发生的问题,以及该问题的解 决方案的核心。这样,你就能一次一次 地使用该方案而不必做重复劳动。
01.08.2020
3 3
1.2 设计模式的起源
软件领域的设计模式起源于建筑学。 1977年,建筑大师Alexander出版了《A Pattern Language:Towns, Building, Construction》一 书。受Alexander著作的影响 ,Kent Beck和Ward Cunningham在1987年举行的一次面向对象的会议上 发表了论文:《在面向对象编程中使用模式》。
所谓低耦合就是尽量不要让一个类含有 太多的其它类的实例的引用,以避免修改 系统的其中一部分会影响到其它部分。
01.08.2020
12 12
第四章 命令模式
命令模式(别名:动作,事务) 将一个请求封装为一个对象,从而使你可用不同的请求
对客户进行参数化;对请求排队或记录请求日志,以及 支持可撤消的操作。
01.08.2020
13 13
一 、 概述
在许多设计中,经常涉及到一个对象请求另一个对 象调用其方法到达某种目的。如果请求者不希望或无 法直接和被请求者打交道,即不希望或无法含有被请 求者的引用,那么就可以使用命令模式。
01.08.2020
14 14
实例
在军队作战中,指挥官请求三连偷袭敌人, 但是指挥官不希望或无法直接与三连取 得联系,那么可以将该请求:“三连偷 袭敌人”形成一个“作战命令”。只要 能让该作战命令被执行,就会实现三连 偷袭敌人的目的。
1.接收者(Receiver) : CompanyArmy.java public class CompanyArmy{
public void sneakAttack(){ System.out.println("我们知道如何偷袭敌人,保证完成任务");
} }
01.08.2020
18 18
模式的结构的描述与使用
01.08.2020
7 7
第二章 面向对象的几个基本原则 2.1 面向抽象原则
设计一个类时,不让该类面向具体的 类,而是面向抽象类或接口 。
01.08.2020
8 8
第二章 面向对象的几个基本原则
public class Circle{
double r;Circle(double r){this.r=r;}
01.08.2020
5 5
1.4 学习设计模式的重要性
学习设计模式不仅可以使我们使用好这些 成功的模式,更重要的是可以使我们更加深 刻地理解面向对象的设计思想,非常有利于 我们更好地使用面向对象语言解决设计中的 问题。
01.08Fra Baidu bibliotek2020
6 6
1.5 合理使用模式
1.正确使用 2.避免教条 3.模式挖掘
9 9
第二章 面向对象的几个基本原则
public abstract class Geometry{ public abstract double getArea(); }
public class Pillar{ Geometry bottom; double height; Pillar(Circle bottom,double height){ this.bottom=bottom;this.height=height;}}
Command Pattern(Another Name: Action, Transaction) Encapsulate a request as an object, thereby letting you
parameterize clients with different requests, queue or log requests, and support undoable operations.
2.命令(Command)接口 : Command.java public interface Command {
public abstract void execute(); }
01.08.2020
4 4
1.3 GOF之著作
目前,被公认在设计模式领域最具影响力的著作是Erich
Gamma、Richard Helm、Ralph Johnson和John Vlissides 在1994年合作出版的著作:《Design Patterns:Elements of Reusable Object-Oriented Software》(中译本《设 计模式:可复用的面向对象软件的基本原理》 或《设计模 式》),该书被广大喜爱者昵称为GOF(Gang of Four)之 书,被认为是学习设计模式的必读著作,GOF之书已经被公 认为是设计模式领域的奠基之作。
public double getArea(){
return 3.14*r*r;}} public class Pillar{
Circle bottom; double height;
Pillar(Circle bottom,double height){
01.08.2020
this.bottom=bottom;this.height=height;}}
15
二、命令模式的结构与使用
模式的结构中包括四种角色: • 接收者(Receiver) • 命令(Command)接口 • 具体命令(ConcreteCommand) • 请求者(Invoker)
01.08.2020
16 16
模式的UML类图
01.08.2020
17 17
模式的结构的描述与使用