zoukankan      html  css  js  c++  java
  • 设计模式解析(二)——UML

    前面这几部分内容都是作为后面的设计模式的背景知识,介于程序猿都有所了解,整理的比价粗糙,网上有好多这方面资料。

    2、UML

    UML是一种用于创建程序模型的图形语言,提供多种不同的图以用于分析、设计和部署(deployment)。

    当你在… 所用UML图
    分析阶段 用例图,所涉及的是与系统之间交互的实体,以及需要实现的功能点。
    活动图,关注的是问题领域,而不是程序的逻辑流。
    观察对象的交互 交互图,说明了特定对象如何交互,因为它们处理的都是具体情况而不是一般情况,在检查需求和设计是都很有用,最常见的一种交互图是顺序图。
    设计阶段 类图,详细描述了类之间的关系。
    观察对象所处状态不同时行为的差异 状态图,详细描述了对象可能所处的不同状态以及在这些状态之间的转换。
    配置阶段 部署图,说明了如何部署不同的模块。

    对这部分内容,大概做了如下笔记

    uml

    需要强调的是composition和aggregation两种关系,另外UML书中的组合和聚集的概念与《设计模式》书中的完全相反,坑爹了有木有!!

    Composition 组合

    composition

    这种has-a关系,后者是它的一部分,Car有Tire和其他东西组成,另外图上Car使用了(use-a)加油站GassStation。

    Aggregation 聚集

    aggregation

    这种has-a关系,Airport拥有Aircraft,Aircraft并不是Airport的一部分。

    Aircraft是一个抽象类,斜体。

    其他参考

    这个资料比价全,对UML不清楚可以大概参考一下。 http://kb.cnblogs.com/page/129068/#4

    因为重点不在于讨论UML所以,对于UML方面的知识讨论仅限于足够讨论设计模式,上面写的内容只能够使你具备阅读后面笔记的模型图所需的最低限度的知识。

  • 相关阅读:
    7.Ubuntu16.04安装Jenkins
    5.在Gitlab创建一个基于Sping Boot Maven项目
    4.ubuntu 16.04.6 离线安装 Git
    CNN注意事项_七月算法5月深度学习班第5次课程笔记
    Github 文件选择性上传
    一个Velocity Template Language学习的框架
    设计模式学习之代理模式(Proxy)
    ibatis入门教程一
    SimpleDataFormat详解
    使用Qmake在树莓派上开发Opencv程序
  • 原文地址:https://www.cnblogs.com/sirocco/p/2942406.html
Copyright © 2011-2022 走看看