设计模式之UML类图

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020

之前,在工厂方法模式中画的图,不是很严格的符合UML类图,所以今天特地看了一下UML类图,下面内容大部分摘自“大话设计模式”。

UML的基本图示法

UML类图图示样例

类图:

如上图,矩形框就代表一个类(Class)。分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是为类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的的符号,‘+‘表示public,‘-’表示private,‘#‘表示protected。

接口图:

接口图有两种表示方法,一种是和类图一样,用矩形框(上图左),而与类图的区别主要是顶端有<<interface>>显示,第一行是接口名称,第二行是接口方法。还有另一种表示接口的方法,俗称棒棒糖表示法(上图右),用圆圈表示,并且圆圈旁边是接口名称,而接口的方法,则在实现类中出现。

继承关系:

如上所示,继承关系用空心的三角形+实线来表示。

接口关系:

如上,实现接口用空心的三角形+虚线表示。

关联关系:

企鹅是很特别的鸟,会游不会飞,更重要的是,它与气候有很大关系,我们不去讨论为什么北极没有企鹅,为什么它们要每年长途跋涉。总之,企鹅需要“知道”气候的变化,需要“了解”气候规律。当一个类“知道”另一个类时,可以用关联(association)。关联关系用实线箭头来表示。

聚合关系:

大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心的菱形+实线箭头来表示。

合成关系:

合成关系是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。在这里,鸟和其翅膀就是合成关系,因为它们是部分与整体的关系,并且翅膀和鸟的生命周期是相同的。合成关系用实心的菱形+实线箭头来表示。另外,还可以注意到连线的两端各有一个数字“1”和“2”,这被称为基数,表明这一端的类可以有几个实例,很显然,一个鸟应该有两只翅膀,如果有一个类可能有无数个实例,则就用“n”来表示,另外,关联关系,聚合关系也可以有基数的。

依赖关系:

动物几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气,水及食物等。也就是说,动物依赖于氧气和水,他们之间是依赖关系(Dependency),用虚线箭头来表示。

时间: 2024-12-25 20:57:29

设计模式之UML类图的相关文章

设计模式之UML类图的常见关系

设计模式之UML类图的常见关系 本文来自转载 烧点饭博客 本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition). 1.泛化关系 泛化关系是继承或实现的关系,是is a关系,具体表现为类与类的继承,接口与接口的继承,类对接口的实现关系. 2.依赖关系 依赖关系表示为一个类使用另一个类,这种使用关系是具有偶然性的.临时性的.非常弱的,一个类的变化会影

设计模式前言——UML类图

设计模式前言--UML类图 一.UML类图 1.类 类(Class)封装了数据和行为,是面向对象的重要组成部分,是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分.在软件系统运行时,类将被实例化成

23种常用设计模式的UML类图

本文UML类图参考<Head First 设计模式>(源码)与<设计模式:可复用面向对象软件的基础>(源码)两书中介绍的设计模式与UML图. 整理常用设计模式的类图,一方面是为了练习UML,另一方面可以重新思考设计模式.当然,整理完成后可以作为一份手册供今后翻阅. 绘图工具:Visual Studio 2015 一.创建型 Factory Method(工厂方法) 定义:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个.工厂方法让类把实例化推迟到子类. 类图: Abstr

设计模式之UML类图以及类间关系

类图是描述系统中的类,以及各个类之间的关系的静态视图.能够让我们在正确编写代码以前对系统有一个全面的认识.类图是一种模型类型,确切的说,是一种静态模型类型.类图表示类.接口和它们之间的协作关系. 以下类图都是用 Visio 画的,因为这学期体系结构老师的实验报告强制使用这个软件画图. 类图的组成 普通类 一个类图由三部分组成. 第一部分是类名: 第二部分是属性,即成员变量.格式为:可见性 属性名称:类型[ = 缺省值]. 第三部分是操作,即方法.格式为:可见性 方法名称(参数列表)[ : 返回类

设计模式前站——UML类图

符号表示访问权限: +表示public -表示private #表示protected ~表示default,也就是包权限 _下划线表示static 斜体表示抽象 类之间关系:类与类一共有如下几种关系:继承(Generalization).实现(Realization).依赖(Dependence).关联(Association).聚合(Aggregation).组合(Composition). 继承:三角形+实线[三角是父类] 实现:三角形+虚线[三角是接口] 依赖:箭头+虚线[箭头是局部变量

设计模式之序章-UML类图那点事儿

设计模式之序-UML类图那点事儿 序 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐的书我还隐约记得,叫GoF的,书名是<Design Patterns: Elements of Reusable Object-Oriented Software>,也即<设计模式>,机械出版社的将其翻译为<设计模式-可复用面向对象软件的基础>.至于为什么叫做GoF,那时候

设计模式——1.概述&amp;UML类图和时序图

声明:设计模式相关文章均整理修改自网络,原文地址:图说设计模式 学习设计模式的3个层次—— 1.熟悉所有设计模式: 2.能够用代码实现: 3.运用到工作的项目中. 设计模式指导软件开发,学习设计模式首先需要了解相关UML图,下面将对UML类图做相关介绍. 重点需要明白,类图中各个类之间的关系,各个类之间线条.箭头的含义. 应该能将类图所表达的含义和最终的代码对应起来. 一.从一个示例开始 请看下面的类图,类之间的关系是我们需要关注的: 1.车的类图结构为<<abstract>>,表

设计模式-UML类图的各符号含义(转)

UML类图的各符号含义 类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形.由这些基本的图形进行组合构成了类图的基本符号.这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程 度.越向右耦合度越高. 其中虚线+箭头是表示即依赖的关系,实线+箭头表示关联的关系,虚线+空心右三角表示implements,实线+空心右三角表示的是泛化,即类的继承关系.实线+空心菱形表示的是聚合的关系,实线+实心菱形则表示 组合的关系. 另外一点是在看类图的时候要注意.类图的思想其实也

[设计模式]-UML类图的各符号含义

UML类图的各符号含义 类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形.由这些基本的图形进行组合构成了类图的基本符号.这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程 度.越向右耦合度越高. 其中虚线+箭头是表示即依赖的关系,实线+箭头表示关联的关系,虚线+空心右三角表示implements,实线+空心右三角表示的是泛化,即类的继承关系.实线+空心菱形表示的是聚合的关系,实线+实心菱形则表示 组合的关系. 另外一点是在看类图的时候要注意.类图的思想其实也