zoukankan      html  css  js  c++  java
  • UML和模式应用学习笔记(8)——交互图和类图 (补充)

    准则:应该花费时间使用交互图进行动态对象建模,而不仅是使用类图进行静态对象建模

    UML关键字是对模型元素分类的文本修饰。


    关键字                               含义                                 用法示例


    《actor》                   类元为参与者                     在类图中,置于类元名称之上

    《interface》             类元为接口                         在类图中,置于类元名称之上

    {abstract}              抽象元素;不能实例化          在类图中,至于类元名称或操作名称之后

    {ordered}              具有强制顺序的一组对象        在类图中,助于关联的端点


    准则:在绘制UML草图时(追求速度、简便性和创造性),建模者通常会将关键字简化为类似‘<interface>’或‘<I>’的形式。

    泛化、抽象类、抽象操作

    在UML中,泛化(generalization)用由子类到超类的实线和空心三角箭头表示。

    泛化——普通的类元与特殊的类元之间的分类学关系。特殊类元的每个实例也是普通类元的简介实例。因此,特殊类元间接地拥有了普通类元的特性。

    泛化与OO编程语言中的继承(inheritance)的意义是否相同??

    这要是条件而定,在领域模型概念视角的类图中,答案为否。对于领域模型,更恰当的解释是,超类是超集而子类是子集。

    抽象类和操作既可以采用{abstract}标记表示,也可以用谢提名来表示。

    依赖

    UML中所包含的普通依赖关系表示客户(Client)元素了解其他的提供者(supplier)元素,并且表示当提供者有所改变时会对客户产生影响。

    依赖用从客户到提供者的虚线箭头表示。

    依赖可以视为耦合的另一个版本。

    依赖有许多种类,以下是在对象图和类图中比较常见的类型:

    • 拥有提供者类型的属性
    • 向提供者发送消息。对提供者的可见性可能是:属性、参数变量、局部变量、全局变量或类的可见性
    • 接受提供者类型的参数
    • 提供者是超类或接口

    准则:在类图中,使用依赖线描述对象间的全局变量、参数变量、局部变量和静态方法的依赖

    组合优于聚合

    组合也成为组成聚合,这是一种很强的整体一部分聚合关系,并且在某些模型中具有效用。组合关系有以下几层含义:

    1. 在某一时刻,部分的实例只属于一个组成实例
    2. 部分必须总是属于组成
    3. 组成要负责常见和删除其部分,既可以自己来创建删除部分,也可以与其他对象协作来创建删除部分。与该约束相关的是,如果组成被销毁,其部分也必须被销毁。

    在UML中,用带有实心菱形箭头的关联线来表示组合,箭头指向组成类。

    准则:组合中的关联名称总是暗示“拥有-部分”的某些变体,因此不要飞信对该关联显示的命名。

  • 相关阅读:
    C# 实现list=list.OrderBy(q=>q.字段名).ToList(); 按多个字段排序
    c# dev gridcontrol 焦点行失去焦点有背景颜色
    c# dev gridcontrol format rule的使用
    鼠标模拟左键单击
    IDEA快捷键/本文仅供自己参考使用如有侵权立删
    Git学习笔记
    bootstrap帮助文档
    bootstrap笔记
    关于Action模型驱动无法获取属性的问题
    SSH整合hibernate无法正常自动生成表
  • 原文地址:https://www.cnblogs.com/Daywei/p/2473968.html
Copyright © 2011-2022 走看看