深入剖析设计模式--UML

开发 架构
软件开发过程中有23中设计模式,这里和大家介绍一下设计模式 UML,详细通过本文的介绍,你对设计模式 UML一定会有深刻的认识。

本节向大家介绍一下设计模式 UML,主要包括UML概念介绍,UML中的图等内容,希望通过本节的介绍你对设计模式 UML有一个初步的了解。下面就让我们一起来看一下设计模式 UML详细介绍吧。

设计模式 UML简介

1.UML(统一建模语言)

1.1UML是什么?

一种创建程序模型的可视化语言,所谓的程序模型,就是程序的图形化表现形式。

1.2为什么使用UML?

主要是为了交流,交流就需要在一个标准的平台上进行,比如中国人交流,都会在中文的平台上进行。UML提供了描述程序模型的一个标准,让开发人员、客户更好的进行交流。
为了交流的清晰,UML定义好不同的图来专门表示不同类型的信息,可以非常清晰的表达我们对系统的理解,以及该理解是否和其他人一致。
为了交流的精确,在交流前,UML强迫设计者必须认真思考他的设计方案,因为他需要把他的设计方案用UML画出来。

1.3UML中的图

1.3.1介绍

用例图,关注系统与客户的交互情况,即客户可对系统做什么?
活动图,关注业务的工作流,业务的逻辑情况。
交互图,关注业务或程序中互相交互的情况。
类图,关注类之间的关系。
状态图,关注系统各对象之间的不同状态以及状态之间的转换。
配置图,关注不同的模块之间如何配置。

1.3.2类图

设计模式 UML图中最基本的就是类图,它描述类,并表现类之间的关系。

1.描述单个类:

需要注意的是:类名为斜体字表示该类为抽象类;类图中属性和方法前面的符号,它们表示属性和方法成员的可访问性。一般为:

公共的(Public):用加号(+)标记。
保护的(Protected):用(#)标记。
私有的(Private):用(-)标记。
描述类之间的关系:

设计模式 UML中类与类之间可分为4种关系:

◆泛化关系,比如派生、继承、拥有……。如同人可分为男人和女人一样。

◆组合关系,一个对象A是另一个对象B的一部分,且A这部分不能独立存在。如同轮胎和汽车一样,汽车没有轮胎不能称为“完整”的汽车,或汽车的功能不完整了。

◆聚集关系,一个对象A是另一个对象B的一部分,但是A这个对象可以独立存在,不影响对象B。如同飞机和飞机场一样,飞机飞走了,飞机场还是独立的,不受飞机在不在的影响。

◆使用关系,一个对象A使用了另一个对象B。如同小汽车使用汽车加油站一样。

1.3.3交互图

类图只能显示类之间的静态关系,要显示类的对象之间如何协调工作的,就需用交互图。

设计模式 UML中交互图就是显示对象之间如何交互的UML图。

1.4总结
记住UML图的作用,它只是提高你的设计和帮助表达你的设计,只是一种辅助手段、工具。所以不必过分考虑用正确的方法创建图,只需考虑表达你的设计种的概念的***方式。

当然,这也就意味着你不应该用不规范的方式使用设计模式 UML,那样不利于正确的沟通。在画图的时候,你只需考虑你试图表达的思想。

【编辑推荐】

  1. 设计模式 UML简介 
  2. UML用户指南--解析三大UML关系
  3. UML动态建模中合作图和活动图解析
  4. UML建模过程中需要注意要点专家提醒
  5. 体验免费UML建模工具

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-06-12 14:35:46

UML对象图

2010-07-07 10:23:31

UML建模

2010-06-28 16:54:49

UML类图关系

2010-07-06 14:20:41

UML时序图

2010-07-12 08:53:32

UML模型图

2010-07-09 13:55:53

UML面向对象建模

2010-07-05 14:03:21

UML图

2010-06-29 12:55:44

UML类图依赖关系

2010-07-05 15:26:03

UML九种视图

2010-06-17 17:22:46

UML软件开发

2010-07-05 11:24:11

常用UML图

2010-06-09 18:17:18

UML

2010-07-07 09:48:05

UML

2010-06-09 09:41:33

UML类图

2010-07-08 15:56:52

UML类图依赖关系

2010-06-04 18:29:02

Hadoop单机模式

2023-07-13 09:28:29

设计模式.NET

2010-07-05 16:23:39

UML类图

2010-07-05 16:07:15

UML图设计模式

2010-06-09 19:17:46

UML
点赞
收藏

51CTO技术栈公众号