UML类图:
类与类图:
1、类封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称;
2、在系统中,每个类具有一定的职责(要完成什么样的功能),一个类可以有多个职责,设计得好的类只有一个职责,将

类的职责分解成为类的属性和操作。
3、类的属性及类的数据职责,类的操作即类的行为职责。

类之间的关系:
关联关系(一个类和另外一个类的关联)
1.关联关系(Association)是类与类之间最常用的一种关系,它是一种结构化,用于表示类对象与另一个对象之间有关

系;
2.在UML类图中,用实线连接有关联的对象所对应的类,在使用Java、C#与C++等编程语言实现关联关系时,通过将一个类

的对象作为另外一个类的属性。
3.在使用类图表示关联关系时可以在关联线上标注角色名。

注意几种关系:
1.聚合(aggregation)关系:比如轮胎聚合在车上,车坏了,但论坛还可以用。
2.组合(composition)关系:在心脏聚合在人身上,人死了,心脏也不能用了。
3.依赖关系:比如司机依赖汽车,一个事物要使用另外一个事物,司机离开汽车就没饭吃了。
4.继承关系:比如一个雇员继承了人的某种属性,叫继承关系。
5.接口实现关系:非常虚的东西,压根就不能实例化,Java叫接口,C++叫纯虚函数。如机动车,和动物。

图就不放了,最关键的就是下面这句话

通过规范类的生成,就可以规范对象和对象的关系,规范了对象

和对象的关系,就规范了软件的基本形态。

顺序图:顺序图组成与绘制

设计模式工作笔记-UML和设计模式导论相关推荐

  1. 【我的设计模式学习笔记】洞察设计模式的底层逻辑

    PS: 本文转载于:https://developer.aliyun.com/article/783549 简介 设计模式是开发同学经常聊到的话题,也经常被用到实际的开发项目中,熟练的人可以做到信手拈 ...

  2. 设计模式私家笔记——概述:设计模式是银弹吗?

    什么是设计模式? 设计模式OOP(面向对象编程)语言的一些最佳编程实践.这些从大量和长期的软件开发实践和试错中积累出来的通用解决方案(设计模式),往往能够解决软件开发面临的一些通用问题. 设计模式从何 ...

  3. 设计模式工作笔记-简单工厂场景与实现(针对接口编程的设计思想)

    简单工厂:通过接口的方式,把实现和变化隔离 接口编程:是一种特殊的抽象类,是一个纯虚类.通常接口来定义类的外部,就相当于一份契约,其实就是根据外部应用 需要的功能,约定了实现类应该要实现的功能. 软件 ...

  4. Qt|设计模式工作笔记-对单例模式进一步的理解(静态加单例实现专门收发UDP对象)

    目录 理论 源码 理论 这里只说明一点,使用单例模式,私有成员里放一个成员,这个成员是一个静态成员,把构造函数都屏蔽掉(放到protected或者private中即可)使用一个flag,让其只能生成一 ...

  5. 游戏设计模式阅读笔记4——重访设计模式(原型模式)

    目录 1.<圣铠传说>例子 2.原型语言范式 现在有很多原型的术语,这里讨论的是传统的原型设计模式. 1.<圣铠传说>例子 但这种会产生众多的类,众多的引用,众多冗余,众多的副 ...

  6. 设计模式学习笔记清单

    设计模式学习笔记清单 关于设计模式许多人已经耳熟能详,这段时间结合李建忠的教学视频以及大量网络资料,把这部分过了一遍,整理出学习笔记,而真正的深入学习和理解只能在具体的开发环境中日积月累.      ...

  7. 【设计模式】设计模式概述以及UML图

    设计模式概述以及UML图 设计模式概述 1. 设计模式的概念 2. 学习设计模式的必要性 3. 设计模式的分类 UML图 1. 什么是UML图 2. 类图的概念和作用 3. 类图的表示法 4. 类与类 ...

  8. 设计模式学习笔记汇总目录

    这里的学习笔记包含JavaSE和J2EE两部分,持续更新中! 其中关于学习的参考资料如下: 1.菜鸟设计模式 2.Head First Design Patterns(书.强烈推荐); 3.大话设计模 ...

  9. java/android 设计模式学习笔记(1)--- 单例模式

    前段时间公司一些同事在讨论单例模式(我是最渣的一个,都插不上嘴 T__T ),这个模式使用的频率很高,也可能是很多人最熟悉的设计模式,当然单例模式也算是最简单的设计模式之一吧,简单归简单,但是在实际使 ...

最新文章

  1. python 提取字符串中的中文字符
  2. WWW 2021|基于图神经网络的分级相关性匹配
  3. 内核对象管理:Slab,Slub
  4. php 特殊符号处理,处理特殊符号的方法-php技巧
  5. 计算机技术大神,2017考研:计算机科学与技术学科大神给你的套路
  6. LeetCode之Power of Two
  7. Asp.Net 构架(HttpModule 介绍) - Part.3
  8. menu---A.2-基本算法实例
  9. 简单几招优化你的Go程序
  10. 【算法】BloomFilter 如何判断一个元素在亿级数据中是否存在?
  11. java 加载类java_深入研究Java类加载机制
  12. Apache2.4项目配置PHP/TP项目方法
  13. oracle把列数据串成一个字符串,一组数据,如何根据一个字段值分组后,把另一字段的字符串累加连接起来?...
  14. ora01950-对象空间无权限
  15. serialization 序列化
  16. 两阶段(two stage)目标检测原理详解 -- RCNN
  17. 使用spilt遇到问题
  18. 项目管理学习笔记之二.工作分解
  19. 百度BML飞桨训练营(五)商品种类识别
  20. 输入法表情和小图标的应用

热门文章

  1. c/c++这么难学,那么学会了究竟有多牛X呢?
  2. 是未来的风口还是无声的战争,中国的saas平台究竟能不能做起来?
  3. 对AI的未来以及优势的一些看法
  4. 大家整齐的qipaifans朗读声忽然乱了
  5. 中文名称:深入浅出SQL
  6. python自动化入门操作文档,写得如此清晰明了,忍不住让人点赞
  7. Awesome Bioinformatics:假期了,收藏学习吧!
  8. NBT:你想成为计算生物学家?
  9. Mac平台上的一个MarkDown编辑器和静态博客生成工具-mweb mac最新版下载
  10. 中小学信息学相关比赛汇总(C++类)