[设计模式]--Design Patterns Explained学习笔记[chap2]
2006-11-20 15:23
357 查看
2.1 What is the UML
UML是一种用于创建程序模型的可视化语言(即:与语义相关的图形符号)。我所说的“程序模型”,意思是“程序的图形化表现形式,我们可以通过它看出代码中对象之间的联系”。UML根据不同的设计阶段分为不同类型的图,如:
分析阶段:用例图――包含与系统交互的实体以及需要实现的功能点;活动图――专著于问题域中的工作流而非程序的逻辑流;
对象交互:交互图――展示特定对象间的交互问题;
设计阶段:类图――详细展示类间的关系;
对象在不同状态下的行为:状态图――展示对象可能存在的不同状态以及状态间的转换;
开发阶段:开发图――展示不同模块如何被开发出来。
2.2 Why use the UML
UML主要用于交流-----与自己、团队成员,以及客户,UML给我们提供了一个工具用于更好地描述需求问题。UML提供了更好的明确性,以此来对比自己对系统的理解是否与别人一致。
UML不仅仅是描述OO设计的更好的方法,他还强迫设计者必须认真思考他所定义的各个类间的关系。
2.3 The Class Diagram
类图是最为基本的一种UML图,它描述了类本身以及其间的关系,可能的关系如下:1、一个类是“一种”另一个类时:is-a关系;
2、两个类间存在关系时:
――一个类包含另一个类:has-a关系;
――一个类使用另一个类:uses-a关系;
――一个类创建另一个类。
附:组合与聚合
Composition: 一个类是另一个类的一部分时,如车轮对于汽车;
Aggregation: 一个类可以存在于另一个类时,如飞机对于机场。
UML中的访问属性表示:
――Public: 用”+”表示,表示所有对象都可以访问其数据或方法;
――Protected: 用”#”表示,表示只有类本身及其派生类可以访问其数据或方法;
――Private: 用”-”表示,表示只有类的方法可以访问其数据或方法。
UML中关于类关系的表示:
――Aggregation: 用”◇-”表示;
――Composition: 用”◆-”表示;
――Inheritance: 用”△”表示;
――Dependency: 用”--->”表示。
2.4 Interaction Diagrams
类图表示类间的静态关系,也就是说他们并不展示任何活动。交互图显示对象之间如何交互,其最为常用的时顺序图。顺序图从上往下阅读:
――顶端的每个矩形表示一个特定的对象:顶端的方框给出类的名称(在冒号右边),并且可以给出对象的名称(在冒号左边);
――垂直线表示对象的生存期:但并不是每个程序都遵从这种表示,有的根本没有显示对象的生存期;
――横穿过垂直线的水平线表示对象向其他对象传递信息的情况。
2.5 Summary
UML的主要目的在于帮助你充实你的设计以及与他们通信,没有必要过分考虑图形是否按照正确的方式创建,也就是说:――你认为需要添加注释的时候,在旁边加以注明;
――如果你认为某个符号不能表达你的意思,那么为它添加相应的注释;
――保持UML图的清晰。
相关文章推荐
- [设计模式]--Design Patterns Explained学习笔记[chap1]
- [设计模式]--Design Patterns Explained学习笔记[chap4]
- [设计模式]--Design Patterns Explained学习笔记[chap5]
- [设计模式]--Design Patterns Explained学习笔记[chap3]
- Design Patterns学习笔记:Strategy策略模式
- Design Patterns Explained 学习笔记(The Object-Oriented Paradigm)
- Design Patterns - Elements of Reusable Object-Oriented Software 设计模式-可复用的面向对象软件元素。【笔记】
- 进一步学习设计模式——Head First Design Patterns
- [译]The Facade Pattern外观设计模式 from Chapter 6 of《Design Patterns Explained》
- 如何向妻子解释设计模式 How I explained Design Patterns to my wife: Part 1
- 设计模式的两个原则——《C# Design Patterns》笔记(一)
- 设计模式学习笔记之设计原则
- 设计模式学习笔记九——Decorator模式
- 【设计模式学习笔记二十二】【行为模式】【策略模式(Strategy)】
- 设计模式之禅学习笔记--命令模式
- Examples of GoF Design Patterns(GOF提及的设计模式在java中的例子)
- 设计模式学习笔记之命令模式
- 【设计模式】学习笔记9:适配器模式(Adapter)
- 设计模式学习笔记之组合模式