设计模式之UML类图
在学设计模式的过程中经常碰到各式各样的UML类图。那些眼花缭乱的符号有什么含义呢?
类图含义
类图中的关系
从网上找来一张图作为实例

依赖关系:比如动物依赖氧气和水,这里如学生要依赖自行车。用虚线箭头表示。
关联关系:学生和身份证是关联关系,候鸟与气候是依赖关系。这里用一根实线表示,也有版本用实线箭头表示。
组合关系:一种强的拥有关系,体现了严格的部分和整体的关系。没有了整体,部分也不存在。比如,如果没有鸟也就没有了翅膀,没有了翅膀,也就不能成为一只完整的鸟。这里比如没有发动机,小汽车就不能行驶,没有小汽车这个整体,发动机也没有用处。也有翻译为合成关系的。用实心菱形和实线表示。
聚合关系:一种弱的拥有关系。体现的是A对象可以包含B对象,但是B对象并不一定是A对象的一部分.比如这里的学生和班级的关系。这里用空心菱形和实线表示。
实现关系:也好理解,现实中这种东西是抽象的,无法直接用来定义对象,只有具体的子类才可以用来定义对象。这里用空心三角形和虚线表示。
继承关系:这个关系最容易理解。比如SUV继承小汽车空心三角形。继承关系用空心三角形和实线表示。
UML类图在设计模式中有非常重要的作用。要学会用类图表示各种设计模式。
画类图的工具
可以用viso画。打开软件点击新建,选择软件和数据库,创建即可。然后进入软件后,有各种形状和结构,拖拽到页面上即可。编辑数据的话,可以右键点击属性,点击类,可以更改名称,点击特性可以增加属性,点击操作,可以增加方法。
设计模式之UML类图的更多相关文章
- 设计模式之UML类图的常见关系
设计模式之UML类图的常见关系 本文来自转载 烧点饭博客 本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association), ...
- 北风设计模式课程---UML类图各符号含义
北风设计模式课程---UML类图各符号含义 一.总结 一句话总结: 用脑子,挺好记的:实线关系肯定比虚线重,箭头.三角形.菱形的关系肯定依次加重,三角形是继承和实现, 1.UML类图中 线+箭头 表示 ...
- 23种常用设计模式的UML类图
23种常用设计模式的UML类图 本文UML类图参考<Head First 设计模式>(源码)与<设计模式:可复用面向对象软件的基础>(源码)两书中介绍的设计模式与UML图. 整 ...
- 图解Java设计模式之UML类图
图解Java设计模式之UML类图 3.1 UML基本介绍 UML图 UML类图 3.1 UML基本介绍 1)UML – Unified modeling language UML(统一建模语言),是一 ...
- 转载:23种常用设计模式的UML类图
转载至:https://www.cnblogs.com/zytrue/p/8484806.html 23种常用设计模式的UML类图 本文UML类图参考<Head First 设计模式>(源 ...
- 从零开始单排学设计模式「UML类图」定级赛
阅读本文大概需要 3.5 分钟. 本篇是设计模式系列的开篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统. 所以现在打算重写,加上距离现在也有一段时间了, ...
- 【设计模式】UML类图及Java的类之间的关系
UML类图展示 设计模式中的对象关系 关联和依赖的对比 依赖关系 虚线箭头 依赖是a类成员方法中有b类的属性,动物新陈代谢方法中有水和空气的属性,只有调这个方法的时候,才可能临时用一下 关联关系 实线 ...
- 设计模式之UML类图的常见关系(一)
本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Compositio ...
- 设计模式之UML类图六大关系辨析【2】
六大关系:继承(extends).实现(Realization).依赖(use-a).关联(association).聚合(has-a).组合(强聚合)(Composition). 类与类之间的强弱关 ...
随机推荐
- PHP.INI常用设置一览表(持续更新)
在编程的过程中遇到或发现的问题,会持续的更新: 1. 打破var_dump的显示瓶颈 php开发环境里,安装了xdebug模块后,var_dump()输出的结果将比较易于查看,但默认情况下,var_d ...
- C#钩子应用实例
C#钩子应用实例一.写在最前 本文的内容只想以最通俗的语言说明钩子的使用方法,具体到钩子的详细介绍可以参照下面的网址: http://www.microsoft.com/china/community ...
- 高效的SQL分页存储过程
CREATE PROCEDURE SP_CommonPageList @Fields VARCHAR(500), @From VARCHAR(1000), @Condition VARCHAR(100 ...
- http://www.sufeinet.com/thread-655-1-1.html
http://www.sufeinet.com/thread-655-1-1.html
- Struct和Class的区别
转载至:http://blog.csdn.net/yuliu0552/article/details/6717915 C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数 ...
- jquery 字符个数(数字字母长度记为1,中文记为2,超过长度自动截)
<script type="text/javascript"> //返回val的字节长度 function getByteLen(val) { var len = ...
- [Linux Kernel]查看CentOS版本方法
查看CentOS版本方法 有以下命令可以查看: # lsb_release -a LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics- ...
- EntityFramework+Autofac+MVC+EasyUI 搭建公司基本服务项目
去年年底用了2个星期的时间搭建了 这套框架,从ORM,IOC,MVC,EasyUI都仔细的研究了下,还有日志,异常等等.mvc 我已经开发过很多项目了,我就觉得自己写套框架,看看自己的水平如何.欢迎大 ...
- 合成孔径雷达(Synthetic Aperture Radar, SAR)
合成孔径雷达(Synthetic Aperture Radar, SAR)是20世纪最先进的科技发明之一.SAR有机载与卫载系统之分,能提供地表地形.乃至行星等远距离目标区高解析度图像.目前无人飞行载 ...
- 处理编译错误"0" is an invalid value for the "DebugInformation" parameter of the "DCC"
在编译“MustangpeakCommonLib-master.zip”时,遇到了这个问题.网上搜了一下: 处理编译错误"0" is an invalid value for the "DebugIn ...