如何在组件二级视图中建模Account与Billing的依赖关系?
组件视图间依赖建模问题解答
现有一级组件图展示了内部组件间的依赖关系,其中Account组件“使用”Billing组件(配图:一级组件依赖图)。现需创建Account组件的二级视图,该如何建模Account与当前视图外的Billing组件间的“使用”依赖?是否需要创建Port?完全省略是否可行?(配图:Account二级视图示意图)
一、跨视图“使用”依赖的建模方式
在Account的二级视图里,要体现对外部Billing的依赖,有两种常用的标准做法:
- 直接标记跨边界依赖:在二级视图的边界上,直接画一条“使用”箭头,起点可以是Account内部具体的子组件(如果是子组件直接调用Billing),或者是Account组件的边界框(如果是Account整体对外依赖),箭头指向视图外的Billing组件。这种方式直白,一眼就能看出来依赖的来源和目标。
- 通过Port关联依赖:给Account组件加一个需求端口(Required Port),把依赖关系挂到这个端口上,再从端口指向外部的Billing。
二、是否需要创建Port?
不是非得用Port,但在这些场景下用会更合适:
- 如果Account对Billing的依赖是标准化的接口调用,或者以后可能要替换成其他类似组件,Port能明确暴露依赖的接口规则,让视图更易维护、更灵活。
- 要是Account内部有好几个子组件都依赖Billing,用一个统一的Port把这些依赖聚起来,能让视图更简洁,不会到处都是跨边界的箭头。
如果只是简单的单向调用,也不需要强调接口契约,直接画跨边界箭头完全没问题。
三、完全省略依赖是否可行?
可以省略,但要看场景:
- 如果二级视图的核心是展示Account内部组件的协作逻辑,而且外部Billing的依赖已经在一级视图里说清楚了,那省略跨视图的依赖箭头反而能让二级视图更聚焦内部细节,不会干扰核心信息。
- 但如果二级视图需要完整呈现Account的所有外部依赖背景,或者团队有规范要求子视图必须关联外部依赖,那省略就会漏掉关键信息,不建议这么做。
内容的提问来源于stack exchange,提问作者Black
相关产品推荐
相关产品推荐

