设计模式-UML关系基础
UML关系基础

类之间的关系

泛化

类在继承中表现为泛化和实现。
继承关系为is-a的关系,两个对象之间用is-a表示为继承关系。
eg,自行车是车,猫是动物。
泛化关系用空心箭头表示
如下图。
A继承自B

用空心箭头表示A继承自B
泛化关系表示为继承抽象类。

抽象类可以继承一个具体的类的。
抽象类可以被实体类继承
抽象类可以被其他抽象类继承

实现关系

实现关系用空心箭头表示。
即指向C++中的抽象类(通过纯虚函数实现),java中的接口,表示实现关系。

即,无法直接定义对象的都被成为抽象类。

即,在上方中A继承自抽象类B

聚合关系

用带空心的菱形箭头的直线表示
A聚合到B上,B由A组成。
聚合关系表示实体对象之间的关系,表示整体由部分构成的语义。

一个部门由多个员工组成。为聚合关系。

与组合关系的区别,不是强依赖关系。即使整体不存在,部分依旧存在。
部门撤销,人员不会消失,依旧存在。

组合关系

组合关系用带实心的菱形箭头表示。
A组成B,B由A组成。
组合关系强调强依赖的聚合关系。
整体不存在,则部分也将不存在。
公司不存在,那么部门也将不存在。

关联关系

关联关系用一条直线表示,描述不同类的对象之间的结构关系。
一种静态关系。
通常与运行状态无关。
用于定义对象之间,天然的,静态的结构。
乘车人和车票属于关联关系,学生和学校属于关联关系。
关联关系默认不强调方向。如果强调方向,则A知道B,但是B不知道A

用成员变量来实现

依赖关系

用带箭头的虚线表示两者之间的依赖关系。
A依赖B,描述一个对象在运行期间会用到另外一个对象的关系。
依赖关系体现在类的构造方法,以及类的方法的传入参数。箭头指向为调用关系。
依赖关系能让对象知道,还能使用对方的方法和属性。

时序图

展示对象之间的交互细节,使用时序图。
时序图有对象,生命线,控制焦点,消息。

www.iming.info

设计模式-UML关系基础相关推荐

  1. 什么是框架,框架和设计模式的关系,为什么要用框架?(转)

    文章出处:http://blog.csdn.net/cjyy1973/archive/2006/02/01/590553.aspx 框架是一个应用程序的半成品.框架提供了可在应用程序之间共享的可覆用的 ...

  2. 二、设计模式-必要的基础知识—旅行前的准备 #和设计模式一起旅行#

    必要的基础知识-旅行前的准备 工欲善其事,必先利其器.--<论语> 要开始一场旅行,准备的工作肯定不能少,不能太任性,一场说走就走的旅行,也需要基础条件的,那么本次就做做一些旅行之前的准备 ...

  3. 设计模式——UML建模之精选核心知识用例图、构件图、部署图、对象图的小结(一)

    文章大纲 引言 一.UML 的核心图概述 二.用例图 1.用例图概述 2.用例图的核心元素 2.1.参与者 2.2.用例 2.3.容器 2.4.用例图内的关系 三.组件图 四.部署图 五.对象图 引言 ...

  4. 23种设计模式 UML 类图及对应示例代码 (二)

    23种设计模式 UML 类图及对应示例代码 (二) 11.DoFactory.GangOfFour.Flyweight.Structural Flyweight:运用共享技术有效的支持大量细粒度的对象 ...

  5. 设计模式-UML图(细化)

    设计模式-UML图(细化) UML 基本介绍 UML--Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行 ...

  6. 图解设计模式——UML

    图解设计模式--UML UML 类图 接口与实现 聚合 可见性(访问控制) 类的关联 时序图 处理流与对象之间的协作 UML UML是让系统可视化.让规格和设计文档化的表现方法,是 unified m ...

  7. Java 10种常见设计模式UML图

    Java 10种常见设计模式UML图 简单工厂模式(不属于23种设计模式) 工厂方法模式 单例 模式(静态内部类方式 IODH) 适配器模式 装饰者模式 门面模式 代理模式(静态代理) 观察者模式 策 ...

  8. 架构师成长之路:什么是软件框架?框架和设计模式什么关系?

    前面,已经把概要设计阶段要完成的任务和方法做了基本的讲述. 接下来看看如何做基础框架设计,在讲之前,我们先来统一一下对软件框架的认识:然后去理解框架和设计模式的关系,为后续的讲解做好准备. 一:什么是 ...

  9. IDEA查看Java类的UML关系图

    1.说明 通过IDEA自带的Diagarm功能, 可以方便的查看Java类的UML关系图, 同时能有选择的查看变量.方法和构造器等, 以及对查看对象的访问权限进行过滤, 可以自由编辑生成的关系图, 任 ...

最新文章

  1. mxnet加载resnet,进行预测
  2. java util concurrent_Error: java.util.concurrent.Execution
  3. Maven学习总结(8)——使用Maven构建多模块项目
  4. 后端生成Token架构与设计详解
  5. Mysql 日期、字符串、时间戳互转
  6. 住宅按套内面积算,医院人脸识别黄牛,DNA碱基对可能会扩充,菜鸟发布供应链系统,猪瘟不影响食品安全,这就是今天的大新闻...
  7. 可调用对象、std::function、std::bind
  8. 如何解决PHP上传中文出错,如何解决php上传中文乱码的问题
  9. C#OOP之十一 委托和事件
  10. windows下的Redis安装:
  11. 在winform里怎么调用WebBrowser控件里的脚本 (转自思归呓语)
  12. 谈谈工业通信协议的采集和转换-如modbus opc profinet ethernetIP 61850等
  13. 关于php聊天室的实现方法,PHP聊天室简单实现
  14. 基于WDF框架的PCIE驱动设计
  15. python程序设计实用教程答案_Python程序设计实用教程
  16. SANGFOR-AD-6.3负载均衡机业务配置
  17. 【Java常见面试题】JVM篇
  18. 图片打标签labelimg
  19. 聊聊ThoughtWorks面试(郑大版 社招)+ PS:应届生简单流程介绍
  20. VSCode安装教程【Windows系统】

热门文章

  1. Linux中的软硬连接
  2. c++ 单引号和双引号
  3. 职场潜规则:公司出现这三种信号,你必须果断辞职!
  4. shareSDK 提示#warning:尚未配置[新浪微博]URL Scheme:sinaweibosso.或wb
  5. 日本的“电力路由器”概述
  6. 社会计算:服务群体社会的大数据科学
  7. 使用EasyPoi轻松导入导出Excel文档
  8. 程序员的算法课(7)-01背包问题
  9. 解决 Python fake_useragent 报错 fake-useragent Maximum amount of retries reached问题
  10. No such file or dirctionary:/ufeff.....关于ufeff错误的解决办法