是否可以在不连接到所需接口的情况下离开提供的接口?

Is it possible to leave provided interface without connecting to the required interface?

我已经为以下场景绘制了组件图。 User来到系统并下载内容。 (这是我整个系统的一部分)。我想检查 User 是否有权下载该内容。因此我使用了 Access controller 组件。 Access controller 从数据库中获取用户信息,并从数据库中获取内容。之后,它向用户提供内容。这就是我建模的方式。

我可以离开提供的界面而不连接到任何需要的界面吗(比如Access controller。那是在检查权限后提供给用户的内容)?

有更好的方法吗?

任何指导都会很有帮助。谢谢!!!

组件表示系统中可替换的独立部分,它提供并需要与系统其他部分交互的接口。

是否可以在组件图中表示未使用的接口?

在组件图中,我们可以自由选择要表示的组件,以及哪些接口可能与读者相关。显示调用组件需要或提供的接口是完全合法的,即使有些接口未被使用。对此甚至有很好的解释:

  • 它可能是一个重用的组件,带有一个已提供但其他地方还不需要的接口
  • 您的图表可能未显示所有组件,例如未显示恰好需要此接口的组件。
  • 您的图表可能表示封闭组件的内部结构,所提供的接口将记录哪些内部组件提供封闭组件向外界提供的接口。

但是您确定访问控制接口吗?

您确定用户应该提供接口 DownloadRequest 吗?不应该是Access controller提供接口DownloadRequest,而User使用这个接口提交请求吗?

另外,根据您的叙述,用户要求提供的内容:

User comes to the system and download content.

User 侧不会缺少需要 Content 的套接字吗? Access control provided Content 会准确地连接到这个插座吗? (即不再提供未使用的接口)