2.1 GOF设计模式中的图示法

2.2 UML表示法

2.2.1 UML类图

UML类图描述类之间的关系,类图中的元素包括类和接口,类之间的关系包括关联、聚合和泛化。类和接口之间有实现关联,接口之间有泛化关系。

泛化:is a 的逻辑关系,有点继承的关系。

实现接口(如:Class1实现了IClass的接口),则表示为      Class6 ----------|> IClass 空心箭头

抽象类在UML中用斜体。

关联关系:表示一个类“知道”另一个类,用实线表示关联。关联可以单向或双向。关联的方向用箭头表示。

聚合关系:表示弱的拥有关系,即A对象可以包含B对象,但B对象不是A对象的一部分。

public class class4

{

public class[] cs1;

public class4()

{}

}

聚合关系在逻辑上的概念可以用“汽车-停车场”的关系来说明,停车场中有汽车,但是汽车不一定是人停车场的一部分。就是说汽车与停车场没有“整体与部分”的关系,聚合对象之间没有依赖关系,对象的创建和消失没有先后的顺序。聚合关系和关联关系在实现时相同。

(8)组合关系:也称复合或合成关系。组合关系是严格的“整体-部分”关系,可以用“鸟-翅膀”的关系来说明。即翅膀与鸟的生命周期是相同的。

Public class Class5

{

Private Class1 cs;

Public Class5()

{

Cs = new Class1();

}

}

在严格的组合方式中,类之间有强依赖关系。在很多情况下,代表整体的对象需要负责保持部分对象的存活。

(9)依赖关系

依赖关系用有箭头的虚线表示。   ------------------>

2.3 《设计模式》中图示法与UML的区别

2.4 设计模式的逻辑模型与实现模式

2.4 使用Case

转载于:https://www.cnblogs.com/KimSky/archive/2008/10/05/1304345.html

第二章 UML与设计模式相关推荐

  1. 【设计模式】第二章 代理模式

    第二章 代理模式 文章目录 第二章 代理模式 一.简介 一.静态代理 二.动态代理 1.JDK 代理 2.CGLib 代理 三.总结 一.简介 你可能会对这个设计模式感到陌生,但是你对 Spring ...

  2. 阅读《JavaScript设计模式》第二章心得

    阅读<JavaScript设计模式>第二章心得 面向对象编程 面向对象编程就是将你的需求抽象成一个对象.然后针对这个对象分析其特征(属性)与动作(方法).这个对象我们称之为类.面向对象编程 ...

  3. 设计模式-可复用面向对象软件的基础(第二章 实例研究)-阅读笔记

    目录 第二章 实例研究:设计一个文档编辑器 2.1 设计问题 2.2 文档结构 2.3 格式化 2.4 修饰用户界面 2.5 支持多种观感标准 2.6 支持多种窗口系统 2.7 用户操作 2.8 拼写 ...

  4. 23种设计模式(第二章创建者模式5种)

    第二章创建者模式 单例模式 单例模式有 3 个特点: 单例类只有一个实例对象: 该单例对象必须由单例类自行创建: 单例类对外提供一个访问该单例的全局访问点. 单例模式的实现 单例设计模式分类两种: ​ ...

  5. (JS设计模式与开发实践笔记)第二章

    第二章:this.call和apply this JS的this总是指向一个对象,而具体指向哪个对象是在运行时基于函数的执行环境动态绑定的,而非函数被声明时的环境. this指向的四种情况 作为对象的 ...

  6. 软件设计模式--第二章 创建型模式--建造者模式

    目录 第二章 创建型模式 1.创建型模式概述 2.建造者模式 (1)模式的定义与特点 (2)模式的结构与实现 (3)应用场景 (4)扩展 第二章 创建型模式 1.创建型模式概述 主要特点 将对象的创建 ...

  7. 软件设计模式--第二章 创建型模式-- 单例模式

    目录 第二章 创建型模式 1.创建型模式概述 2.单例模式(Singleton) (1)模式的定义与特点 (2)模式的结构与实现 (3)应用场景 (4)扩展 第二章 创建型模式 1.创建型模式概述 主 ...

  8. 【读书笔记】《Effective Java》第二章 第2条:遇到多个构造器参数时要考虑使用Builder

    一.前言 <Effective Java>读书笔记系列 第二章 第1条:创建和销毁对象 第二章 第2条:遇到多个构造器参数时要考虑使用Builder 二.介绍 我们开发中偶尔会遇到一些需要 ...

  9. C++ API 设计 07 第二章

    第二章 品质 本章的目标是回答下面的问题:一个良好的API需要什么样的品质?大多数开发人员都同意,一个良好的API应该设计得很优雅,而且仍然非常容易使用.它应该在后台运行且使用起来让你觉得很惬意.这些 ...

最新文章

  1. android 单例模式详解,android开发设计模式之——单例模式详解
  2. 计算机 最早开机,电脑启动最先出现的是什么
  3. 现代中小企业IT基础平台建设 - 完整案例实战(00_序)
  4. poe交换机的作用和优点
  5. java做橡皮擦效果_HTML5 canvas橡皮擦擦拭效果
  6. 今日恐慌与贪婪指数为75 贪婪程度有所上升
  7. 20171125-第六次例会
  8. 关于文件中的0D、0A
  9. 提高效率 JavaScript调试 js 调试工具
  10. 5-5 多边形周长计算(继承)
  11. 先来先服务、高优先权、按时间片轮转调度算法(含清晰流程图)
  12. 计算机知识竞赛的策划案,计算机趣味知识竞赛活动策划书
  13. qpython3h_QPython3H安卓运行Python神器
  14. office2003word解除安全模式启动
  15. 【系统化学习】CSDN算法技能树测评
  16. tensorflow中sigmod激活函数
  17. conda安装python虚拟环境+配置channels
  18. spring注解之@PreDestroy的实现原理
  19. 线性空间的定义与性质
  20. 2017年应届生落户上海流程简介

热门文章

  1. centos下打包electron_从零搭建Electron应用 的一系列简单的 Demo
  2. Google Chrome进入暗黑模式
  3. 婚宴座位图html5,婚礼小知识,婚宴座位怎么安排才不得罪人(主桌)
  4. mysql binlog更新记录缺失_记一次mysql数据库binlog丢失引起的故障
  5. 计算机多媒体技术怎么考一建,一建考试视频
  6. excel排名_排名数据应该用什么图表?Excel有这样的图表吗?- Excel图表教程
  7. 锦州师专高等专科学校计算机,《数据库原理与应用锦州师范高等专科学校计算机系》.ppt...
  8. php simplexml 删除,请问一下PHP SimpleXML怎么-删除xpath节点
  9. 服务器关闭重启后客户端socket能自动连接吗_用Python 撸一个 Web 服务器
  10. base64 pdf解码无法打开_微信小程序使用echarts导出PDF