1.服务与服务之间的关系

项目中有多个微服务组成的话,也需要在包图中画出每个微服务之间的关系。

可以把每个微服务当成一个包去画出整体的关联,之后再画出每个服务中各个包的关系图。

2.包与包之间的关系

①泛化

②依赖

  • use :使用关系,是一种默认的依赖关系,说明客户包(发出者)中的元素以某种方式使用提供者包(箭头指向的包)的公共元素,也就是说客户包依赖于提供者包。
  • import:引用关系,最普遍的包依赖类型,说明提供者包(箭头指向的包)的命名空间(包本身代表命名空间)将被添加到客户包(发出者)的命名空间中,客户包中的元素也能够访问提供者包的所有公共元素。
  • access:访问关系,只想使用提供者包中的元素,而不想将其命名空间合并则应使用该关系。
  • trace:追溯关系,想表示一个包到另一个包的历史发展,则需要使用《trace》关系来表示。

3.包的可见性

  • "+" :public
  • "-" :private
  • "#" :protected

4.绘制包图的原则

  • 每个包都必须有一个唯一的包名
  • 包图中拥有的元素不得超出规范中的六种元素
  • 最小化包间的依赖,最小化每个包中的 public , protected 元素个数,最大化每个包中 private 元素个数
  • 包间关系不能出现循环依赖的情况
  • 包中可以嵌套子包
  • 包图需体现出包间的层级关系,一个层级的包放到一张图。一般情况下,只绘制第一层级的包关系即可。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐