架构师必修课:UML建模

332 阅读2分钟

「这是我参与2022首次更文挑战的第4天,活动详情查看:2022首次更文挑战

定义

UML - Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语 言工具, 用于帮助软件开发人员进行思考和记录思路的结果。简单说,UML图即一种图形化语言,通过不同的图形和符号,来描述软件模型以及各个元素之间的关系。

UML图分类

  • 用例图
  • 静态结构图:类图,对象图,包图,组件图,部署图
  • 动态行为图:交互图(时序图和协作图),状态图和活动图

常用工具

  • word:绘制简单UML图,是一种非专业手段
  • visio
  • powerDesigner:支持标准数据建模UML
  • eclipse插件amaterasUML
  • idea插件plantUML
  • idea插件UML support

常见的几种类图关系

依赖关系

代码示例
/**
 * 依赖关系示例
 * @author:liyajie
 * @createTime:2022/2/10 10:17
 * @version:1.0
 */
public class PersonService {
    
    // 方法入参使用到了
    public void save(Person person){

    }

    // 返回参数使用到了
    public IdCard getIdCard(){
        return new IdCard();
    }

    public void job(){
        // 方法内部使用到了
        Job job = new Job();
    }
}
UML图示

一条虚线+箭头 image.png

泛化关系

代码示例
/**
 * 泛型关系(继承)示例
 * @author:liyajie
 * @createTime:2022/2/10 10:17
 * @version:1.0
 */
public class PersonService1 extends Base{
    
}
UML图示

一条实线+三角箭头 image.png

实现关系

代码实现
/**
 * 实现关系示例
 * @author:liyajie
 * @createTime:2022/2/10 10:17
 * @version:1.0
 */
public class PersonService2 implements BaseService{

}
UML图示

一条虚线+三角箭头 image.png

关联关系

代码示例
/**
 * 关联关系示例
 * @author:liyajie
 * @createTime:2022/2/10 10:17
 * @version:1.0
 */
public class PersonService3 {
    public PersonDao personDao;
}
UML图示

一条实线+箭头+空心菱形 image.png

总结

以上就是今天的内容,主要介绍了UML相关基本知识,以及常见的几种类图关系的画法

预告

下篇我们就正式开始java的二十三种设计模式的相关内容了,首先我们介绍的是单例模式,敬请期待