设计模式的艺术P1基础—2.1 uml概述

设计模式的艺术P1基础—2.1 uml概述

设计模式的艺术P1基础—第2章 UML类图与面向对象设计原则

UML类图可用于描述每一个设计模式的结构以及对模式实例进行说明,而模式结构又是设计模式解法的核心组成部分。学一个设计模式,如果不能绘制和理解其结构图,基本上等于没学。

面向对象设计原则是评价每个设计模式应用效果的重要依据。每个模式都符合一个或多个面向对象设计原则。这些原则都是从无数项目中提取出来的经验性原则,它们为消除软件设计和实现中的“臭味(Bad Smell)”而诞生,力图为当前系统提供最好的设计方案。

常用的面向对象设计原则包括7个,分别是单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成复用原则和迪米特法则。

很多传说中的“武功秘籍”并不全是文字,通常都配有图片,因为与文字相比,图形更加直观易懂。与这些“武功秘籍”相似,设计模式通常也结合一些图形来进行描述,其中最常用、使用最广泛的图形描述技术就是UML(Unified Modeling Language,统一建模语言)。

在2003年6月的OMG技术会议上,UML 2.0获得正式通过,UML的发展与应用也上升到一个新的高度,越来越多的人开始学习和使用UML来进行软件建模。

UML名称中所包含的3个单词正是UML特性的体现:


1.UML通过统一的表示方法,让不同知识背景的领域专家、系统分析设计人员和开发人员以及用户可以方便地交流。

2.UML是一种通用的可视化建模(Modeling)语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档

3.UML是一种语言(Language),也就意味着它有属于自己的标准表达规则,它不是一种类似Java的编程语言,而是一种分析设计语言,也是一种建模语言。

UML是一种由图形符号表达的建模语言,其结构主要包括以下几个部分:

1)视图(View):UML视图用于从不同的角度来表示待建模系统。视图是由许多图形组成的一个抽象集合,在建立一个系统模型时,只有通过定义多个视图,每个视图显示该系统的一个特定方面,才能构造出该系统的完整蓝图

2)UML视图包括用户视图、结构视图、行为视图、实现视图和环境视图。其中,用户视图以用户的观点表示系统的目标,它是所有视图的核心,用于描述系统的需求;结构视图表示系统的静态行为,描述系统的静态元素,如包、类与对象,以及它们之间的关系;行为视图表示系统的动态行为,描述系统的组成元素(如对象)在系统运行时的交互关系;实现视图表示系统中逻辑元素的分布,描述系统中物理文件以及它们之间的关系;环境视图表示系统中物理元素的分布,描述系统中硬件设备以及它们之间的关系。

2)图(Diagram):UML图是描述UML视图内容的图形。最新的UML 2.0提供了13种图,分别是用例图(Use Case Diagram)、类图(Class Diagram)、对象图(Object Diagram)、包图(Package Diagram)、组合结构图(Composite Structure Diagram)、状态图(State Diagram)、活动图(Activity Diagram)、顺序图(Sequence Diagram)、通信图(Communication Diagram)、定时图(Timing Diagram)、交互概览图(Interaction Overview Diagram)、组件图(Component Diagram)和部署图(Deployment Diagram),通过它们之间的相互结合可提供待建模系统的所有视图。其中,用例图对应用户视图,类图、对象图、包图和组合结构图对应结构视图,状态图、活动图、顺序图、通信图、定时图和交互概览图对应行为视图,组件图对应实现视图,部署图对应环境视图。

3)模型元素(Model Element):模型元素是指UML图中所使用的一些概念,它们对应于普通的面向对象概念,如类、对象、消息以及这些概念之间的关系,如关联关系、依赖关系、泛化关系等

4)通用机制(General Mechanism):UML提供的通用机制为模型元素提供额外的注释、信息和语义,这些通用机制也提供了扩展机制,允许用户对UML进行扩展,如定义新的建模元素、扩展原有元素的语义、添加新的特殊信息来扩展模型元素的规则说明等,以便适用于一个特定的方法或过程、组织或用户

相关推荐

  1. 设计模式艺术P1基础—2.1 uml概述

    2024-01-12 11:40:02       31 阅读
  2. 23设计模式概述

    2024-01-12 11:40:02       33 阅读
  3. 23设计模式概述

    2024-01-12 11:40:02       31 阅读
  4. 设计模式艺术》笔记 - 原型模式

    2024-01-12 11:40:02       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 11:40:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 11:40:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 11:40:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 11:40:02       20 阅读

热门阅读

  1. Cocoapad安装和依赖添加

    2024-01-12 11:40:02       29 阅读
  2. 【Python】如何实现交叉匹配后去重

    2024-01-12 11:40:02       36 阅读
  3. 二级C语言备考3

    2024-01-12 11:40:02       22 阅读
  4. ubuntu主机开启ssh服务,ubuntu通过ssh访问主机

    2024-01-12 11:40:02       38 阅读
  5. Vue-cli

    2024-01-12 11:40:02       37 阅读
  6. Spring Boot Starter介绍和实战

    2024-01-12 11:40:02       29 阅读
  7. Spring Boot Starter设计实现

    2024-01-12 11:40:02       21 阅读
  8. 2024最新面试经验分享

    2024-01-12 11:40:02       42 阅读
  9. 频数表和列联表,以及进一步处理分析 -- R

    2024-01-12 11:40:02       28 阅读