通过关联访问其他 类 的属性应该是显式的还是隐式的?

Should access to properties of other classes through association be made explicit or are they implicit?

我正在开发一个项目,我正在使用一个 SDK,它通过一些 类 提供我需要的东西。我将这些命名为 ProviderProviderProvider,它们授予对 OneThing 的访问权限,即 IThing.
此处显示了一个示例

.

我的问题是:显示 Model 通过 [=39= 向 View 提供 OneThing 列表的正确(或最佳)方法是什么? ]?

  1. 您是否像我的示例那样通过绘制从 ModelOneThing 的依赖箭头来明确显示这一点?这对我来说似乎不对,很快就会变得视觉混乱。
  2. 您是否没有显式定义该关系,而是通过其他关系简单地隐式定义?
  3. 您是否通过属性、注释或其他方式半明确地定义该关系?

我应该 add/remove 具体有哪些关系和属性,为什么?

您已经有了隐式关系,因为您使用此 class 作为模型返回的一种数据类型,因此您不需要显式添加该关系。

添加仅具有依赖关系的图表可能很有用,尤其是对于系统中的核心 classes。然后你不关心其他class之间的关系,你只在一张图上显示所有依赖于核心的class的(甚至可能不止一张图)。

一个提示 - 在案例工具(如 EA)中,即使您不打算在图表上显示关系,因为它是隐式指示的,创建显式依赖关系并删除箭头仍然是好的。这将通过可追溯性矩阵或依赖树等工具支持可追溯性。