Dependency injection 如何在UML类图上显示依赖注入?

Dependency injection 如何在UML类图上显示依赖注入?,dependency-injection,uml,class-diagram,Dependency Injection,Uml,Class Diagram,如何在UML类图中显示对象或类的依赖项注入?通过使用一条虚线和一个指向客户模型元素到供应商模型元素的箭头来显示类依赖项 我认为,如何向客户机提供依赖关系在UML级别是不相关的。如下所示: 首先,UML和DI是非常正交的概念: UML关注于描述具体实体之间的交互、关系和依赖关系 DI描述如何解析依赖关系 因此,UML图实际上没有描述DI的机制。但是,我相信如果涉及DI,您将看到某些模式的发展,包括(但不限于): 每个依赖项至少有两个实体,即(1)接口和(2)至少一个具体实现 接受依赖接口的函

如何在UML类图中显示对象或类的依赖项注入?

通过使用一条虚线和一个指向客户模型元素到供应商模型元素的箭头来显示类依赖项

我认为,如何向客户机提供依赖关系在UML级别是不相关的。

如下所示:


首先,UML和DI是非常正交的概念:

  • UML关注于描述具体实体之间的交互、关系和依赖关系
  • DI描述如何解析依赖关系
因此,UML图实际上没有描述DI的机制。但是,我相信如果涉及DI,您将看到某些模式的发展,包括(但不限于):

  • 每个依赖项至少有两个实体,即(1)接口和(2)至少一个具体实现
  • 接受依赖接口的函数/方法,但(通常)没有接受依赖实现实现的函数/方法
  • 一个或多个实体来表示注入机制本身

对于仍然好奇这个符号应该如何解释的人来说:箭头从
A
指向
B
,这意味着
A
注入了
B
。(也可以说
B
被注入
A
)。。。因此,在给定的示例中,
MovieLister
被注入
MovieFinder
。(也可以说,
MovieFinder
被注入到
MovieLister
)Re:图中的“汇编程序”。在Spring框架中,IoC容器由接口ApplicationContext表示。Spring容器负责实例化、配置和组装称为bean的对象,以及管理它们的生命周期这里的汇编器是什么?@kudlatiger汇编器是创建MovieFinder的适当实例,然后将其注入MovieLister的人。