设计模式之UML类图

设计模式(二)——UML类图介绍 在正式介绍设计模式之前,我们有必要学习一下UML类图,因为我们需要一种直观的表示方法来描述设计模式,这种方法即是UML类图。在Jungle之前的一篇博客里,已经介绍到UML类图UML类图关系与符号简介。这里,不妨我们再次学习一遍。 1.UML是什么? UML-Unified Model Language统一建模语言,是在开发阶段,说明、可视化、构建和书写一个面向对象软件的开放方法。统一建模语... 阅读详情

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


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


UML的基本图示法

 UML类图图示样例

     类图:

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


      接口图:

      

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

      继承关系:

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

      接口关系:

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

     关联关系:

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

      聚合关系:

        

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

      合成关系:

          

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

        依赖关系:

         

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



UML画的JAVA设计模式 自己用UML画的几种设计模式图,可能不太准确,希望指正和交流。 立即下载

相关推荐

牛顿法vs高斯牛顿法vs LM算法:三行代码说清核心区别(附性能对比表格)

本文通过对比牛顿法、高斯牛顿法和LM算法的核心迭代代码,揭示了三者在非线性最小二乘优化中的本质区别。LM算法通过引入阻尼因子,在高斯牛顿法的快速收敛与梯度下降的稳定性之间取得平衡,成为工程实践中鲁棒性最强的首选。文章还提供了清晰的性能对比表格,帮助开发者根据初始估计和问题性质快速选择合适算法。

weixin_29062255的博客 419

UML中的类图

【引言】             大家都知道在UML中最重要的就是九种图,其中类图是最常用的UML图,它由类、接口、协作、包和许多子系统等静态模型元素组成。在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。它在UML的9个图中占据了一个非常重要的地位。 【表示】            类的命名尽量应用领域中的术语

随心而作 877

win 11bitlocker恢复密匙一般情况的解决方式(这里指的是你现在使用的微软账户一直没有变更过)

本来没有打算写这一篇解决帖子的,但是最近好多微博的友友都在私我询问解决方法,孩子虽然很热心,但是真的回复不过来了,打字太累了,这里给大家简单指个路,希望能够对大家有所帮助。 当时出现这个问题的时候,一搜网上的解决方法都是重装系统什么的,真是吓死孩子啦。后来去微软的官网倒腾了半天解决了问题。其实只要你没有改过微软账户,你可以直接试试我这个方法,大概三到五分钟解决问题吧。 和我情况不一样的也可以参考一下贴吧里一些大佬的分享,或者实在着急我感觉去淘宝上找个解决也不是未尝不可。 出现问题: 解决方案: 直接去微软

zhiqingxue的博客 2万+

数据结构--图

数据结构之图,图的遍历

m0_61931988的博客 278

工程伦理-知识点汇总

工程伦理-知识点汇总

m0_46091747的博客 1万+

Windows10 搭建 FTP 服务器

问题: 有这么一个需求,博主需要对班级同学的信息进行收集,同学的信息是一个个的文件, 正常是每个同学将自己的信息打包压缩通过 QQ 或者邮箱方式发送给博主, 博主一个个接收这些压缩包,然后进行解压,再统一放到一个文件夹下, 但是博主觉得这样子实在是太麻烦了,如果某一个同学的信息来回变动,就需要接收很多次,更改很多次, 另外如果消息过多还会产生漏掉某个同学的信息的问题。 解决方法: 如果可以使...

assiduous_me的博客 3965

23种常见设计模式总结(类图,优缺点,不同设计模式之间的对比)

设计模式的几个重要原则 单一职责原则 开闭原则 依赖倒转原则 里氏代换原则 合成聚合复用原则:尽量使用组合/聚合代替继承 迪米特原则:降低耦合性 设计模式 类图 优点 缺点 ...

programmer_at的专栏 1万+

从华为杯建模到论文录用:我的Biomedical Signal Processing and Control投稿全记录(含Latex模板与审稿人推荐技巧)

本文详细记录了作者从华为杯数学建模竞赛到Biomedical Signal Processing and Control期刊投稿的全过程,分享了如何将竞赛成果转化为学术论文的实用技巧,包括LaTeX排版中的常见陷阱与解决方案,以及审稿人推荐策略。特别提供了针对Elsevier模板的优化建议和高效回复审稿意见的方法,适合生物医学信号处理领域的研究者参考。

weixin_42549037的博客 454

java迭代器模式应用_如何将java设计模式之-迭代器模式(Iterator Pattern)掌握!...

定义提供一个方法可以访问聚合对象,而不用知道这个对象的内部表示。简介作为一个java程序员,你可能使用过聚合对象,在java中他们被称为集合。集合也是一个对象,它作为一个容器来存储其他的对象,被存储的对象成为元素。基于集合石如何存储元素的,有不同类型的集合。例如一些集合允许重复的元素而一些不可以。ArrayList, LinkedList, HashMap,LinkedHashSet 就是java...

weixin_34206129的博客 203

Jenkins测试详细使用教程(二):jenkins两种主要构建方法

Jenkins有两种定义构建作业的主要方法:(自由风格项目)和Pipeline(流水线项目)。

m0_62825058的博客 2434

论文必备 - YOLOv13热力图可视化,支持指定模型,指定显示层,设置置信度,以及10种可视化实现方式

本文带来的是YOLOv13热力图可视化功能,支持,以及。我们经常看到一些论文里绘制了不同的热力图,一方面能够直观的感受其模型的有效性,另一方面也丰富了论文内容。特别是在使用了注意力模块的网络中,热力图就可以验证注意力机制是否真正聚焦到了预期的重要特征上,以便对模型的有效性和合理性进行评估。例如这篇文章中展示的,就很能够表达作者改进后的模型相比之前模型的优越性。

Limiiiing的博客 488

idea 看类的子类 uml 图_Java设计模式:认识统一建模语言UML

共同的事业,共同的斗争,可以使人们产生忍受一切的力量。 ——奥斯特洛夫斯基引导语在学习设计模式之前呢,咱们先了解下统计建模语言UML,这样有助于理解后面介绍的设计模式。统一建模语言(UML)是规约语言,是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。在UML2.2中定义了14个图示,其中,主要介绍类图、简单介绍行为式图形和时序图。1...

weixin_39611331的博客 213

BES2300x笔记(36) -- OTA升级

哈喽大家好,这是该系列博文的第三十六篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 BES 蓝牙方案自带 OTA(Over The Air)功能,该功能可以对蓝牙固件进行在线升级,目前该功能支持通过安卓手机(苹果手机也有对应APP,未实际测试)对蓝牙固件进行升级,以后还会支持通过 PC 端进行在线升级。在使用 OTA 功能之前,用户需安装 BES 提供的手机 apk 软件,将需要升级的固件拷贝到手机,然后通过该 apk 软件进行在线升级。

文化人的博客 5356

设计模式概述及UML的类图

1.设计模式概述 1)简介 设计模式是面向对象设计中反复出现的问题的解决方案。这个术语的含义还存有争议。算法不是设计模式,因为算法致力于解决问题而非设计问 题。设计模式通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者 和其他设计者掌握。设计模式还为软件重构提供了目标。 2)历史 肯特·贝克和沃德·坎宁安在1987年利用克里斯托佛·亚历山大在建筑设计领域里的思想开发了设计模式并把此思想应用在Smalltalk中的图形用户接 口的生

hello world ! 435

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

设计模式-UML类图详解

实现关系泛化关系关联关系聚合关系组合关系依赖关系。

日常技术分享 1589

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

23种设计模式UML类图图解

目录一 、类图的表示二、创建者模式1、单例模式2、简单工厂模式3、工厂方法模式4、抽象工厂模式5、原型模式6、建造者模式三、结构型模式1、代理模式2、适配器模式3、装饰者模式4、桥接模式5、外观模式6、组合模式7、享元模式四、行为型模式1、模板方法模式2、策略模式3、命令模式4、职责链模式5、状态模式6、观察者模式7、中介者模式8、迭代器模式9、访问者模式10、备忘录模式11、解释器模式 一 、类图的表示 本文的图参考黑马程序员,在UML类图中,类使用包含类名、属性(field) 和方法(method)

weixin_622464的博客 8704

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

设计模式 2 - UML类图介绍

一、UML基本介绍 1) UML——Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果 2) UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等 3) 使用UML来建模,常用的工具有Rational Rose , 也可以使用一些插件来建模 画UML图和写文章类似,都是为...

Y_M的博客 255

设计模式-UML类图

篇文章来总结下UML类图,本来不打算讲UML类图的,因为我在学习设计模式的时候,一遇到有关UML的就会自动忽略,一看感觉就很复杂。但是随着学习的深入,发现不掌握UML类图,对设计模式或者某一个框架没有整体的把控。所以与其逃避,不如敢于面对,今天就让我们一起来了解下什么是UML类图。 说到UML类图,我们先来看下什么是UML。在维基百科上对它的定义如下: UML即统一建模语言(Un...

lili2922的博客 1977

二、UML类图、设计模式概述

UML基本介绍 (1) UML— Unified modeling language UML (统一 建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果 (2) UML 本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等,如图: UML 图: 画UML图与写文章差不多,都是把自己的思想描述给别人看,关键在于思路和条理,UML图分类: (1)用例图(use ca

Cookie__C的博客 621

各种设计模式的UML类图

一、单一职责原则     就一个类而言,应该仅有一个引起它变化的原因。     如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱他的设计,当变化发生时,设计会遭受到意想不到的破坏;软件设计真正要做的许多内容就是发现职责并把那些职责相互分离。...

zsjlovesm521的博客 1万+

Java设计模式-UML类图

从这一专栏开始将学习设计模式,上课学习和自己总结归纳的笔记将总结出来供大家参考。

Fatter$hday的博客 933

【HarmonyOS学习日志(4)】设计模式六大原则与UML类图

设计模式六大原则。

2302_79637396的博客 824

一、设计模式 - UML (统一建模语言) - 类图

设计模式、UML、统一建模语言、类图

Ares5k 1246

设计模式:UML 类图

设计模式:UML 类图

ProgramNovice的博客 1111

设计模式-2-UML中的类图及类图之间的关系

目录 定义 类 接口 类图 类之间的关系 依赖关系 关联关系 关联关系 聚合关系 组合关系 泛化关系 实现关系 个人总结 定义 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,UML 从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图。 设计模式主要用到的就是类图,以及类之间的关系。 类 类(Class)是指具有属性、方法和关系对象的抽象,它封装了数据和

狼行千里吃肉 688

看懂设计模式UML类图

描述设计模式的时候会经常用到UML类图来描述类之间的静态结构。此篇的用意仅仅在于让各位看官能够看懂UML类图,并且弄清楚UML类图中的几种关系。在之后的设计模式学习过程中仅此两点足矣,更高深的不在此篇讨论范围内。   UML类图是UML(unified modeling language,标准建模语言)五种图示法中静态图的一种-用来描述系统中类的静态结构,不仅定义系统中的类,表示类之间的

#ifndefine maxwit #define maxwit...#endif 1053
上一篇: java设计模式 -------- 创建模式 之 工厂方法模式
下一篇: C指针解析 ------ 指针的概念及要素
jesson20121020
博客等级 码龄15年 361粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值