gpt4 book ai didi

database - 数据库是序列图中的 Controller 还是边界?

转载 作者:行者123 更新时间:2023-12-03 08:06:31 27 4
gpt4 key购买 nike

我在确定数据库是序列图中的 Controller 还是边界( View )时遇到问题。我为“调用排队”绘制了以下序列图。这是对的吗? enter image description here

最佳答案

简而言之

数据库将是控件的一部分。然而,控件用于高级用例逻辑/协调,而数据库是控件的低级实现。在同一个图表上混合不同级别的抽象不一定有帮助。

参数

Entity Control Boundary分解基于用例模型。

如果数据库系统是一个参与者,那么与外部数据库相关的对象将是一个边界。但这会产生误导:数据库系统是系统的实现细节。即使数据库在多个应用程序之间共享,它也不是一个自治系统,如果没有应用程序使用其内容,该系统就没有任何用处。所以:不是边界

如果数据库不是参与者,那么它就是“系统”的一个组件(系统由应用程序和数据库组成)。它不能是边界(见上文)。它也不能是实体,因为用户不关心数据库。因此,它只能是一个控件

控件更多地用于用例逻辑(实现用例,并协调实体和边界)。因此数据库充其量只是控件的一部分(但控件构造型是正确的)。

此外,某些架构模式(例如“主动记录”)将在实体级别使用数据库。如果它确实是一个实体(用户不关心)或者它仍然是一个被驱逐的控件,那么它是不明确的。实际上,在确定之前,您需要知道在设计中管理持久对象的方法。

我个人建议不要混合抽象级别,因为这会使图表更难以理解并且不太有用。

关于database - 数据库是序列图中的 Controller 还是边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72180035/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com