1

我对 UML 组件图接口有疑问。我的系统中有一个搜索组件,它负责从数据库中搜索某些产品并将搜索结果返回给用户。据我了解,我以 3 种不同的方式绘制了搜索组件。我想知道哪种方法是正确的并且在实践中是最好的,以及为什么其他方法不正确。

在此处输入图像描述

在这种情况下,我认为搜索组件为Search interface其他组件提供了一个类似的组件,User并且他们使用它Search interface来搜索。用户也通过它传递搜索参数interface并通过它获得结果interface

在此处输入图像描述

在这种情况下,我认为 Search 组件提供Search interfaceUser使用它interface来传递搜索参数。它从数据库中获取数据。然后User组件用于Search result interface获取搜索结果。

在此处输入图像描述

在这种情况下,我认为Search component需要搜索参数来搜索某些内容。所以,它需要搜索参数。因此,我添加了Search params required interface. 获取数据后,搜索组件会提供该结果。所以,我添加了provide interface名为search result.

这些是我对这个搜索组件的看法。我不知道哪个是正确的。请解释哪一个是正确的,为什么其他不正确。

谢谢!!!

4

1 回答 1

2

Lollipop 和 sockets 不告诉进出什么,而是由谁提供或需要接口定义。因此,简单地说,第一个变体是正确的。该Search接口提供了一些search(...)产生一些结果的操作。并且数据必须通过Data接口提供。然后组件的任务是根据这些接口实现对数据的搜索。

如果您将“接口”放在套接字/棒棒糖附近并相应地绘制依赖项/实现,这将对您有所帮助。例如像这样:

在此处输入图像描述

于 2021-09-21T07:02:18.873 回答