UML - jwyx/ForFun GitHub Wiki

Credit

http://www.ibm.com/developerworks/cn/rational/r-uml/
<<大话设计模式>>

Basic

类: 矩形框;分为三层
    一层: 类的名称,如果是抽象类,则用斜体显式
    二层: 类的特性,通常就是字段和属性
    三层: 类的操作,通常就是方法或行为

    +: public
    -: private
    #: protected

接口: 矩形图;
    一层: <<interface>> 和 接口名称
    二层: 接口方法

类之间 和 类与接口 的关系
    继承:    空心三角形 + 实线;三角形指向父类
    实现接口: 空心三角形 + 虚线;三角形指向接口
    关联(association): 实线箭头;当一个类'知道'另一个类时
        可以有基数
    聚合(aggregation): 空心菱形 + 实线箭头;菱形指向群体,实线箭头指向个体
        聚类表示一种弱的'拥有'关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分
        可以有基数
        E.g. 雁群 和 大雁
    合成(composition): 实心菱形 + 实现箭头;菱形指向整体,实现箭头指向部分
        合成表示一种强的'拥有'关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样
        合成关系的连线两端各有一个数字,称为基数,表示这一端的类可以有几个实例。
        如果一个类可能有无数个实例,则可用'n'来表示。
        E.g. 大雁 和 翅膀
    依赖(Dependency): 虚线箭头;箭头指向被依赖对象
        被依赖对象 一般作为 参数 或者 成员变量        
⚠️ **GitHub.com Fallback** ⚠️