该数据库将是control个数据库的一部分.然而,该控件用于高级用例逻辑/协调,而数据库是该控件的低级实现.在同一个图上混合不同级别的抽象并不一定有帮助.
Entity Control Boundary分解基于用例模型.
如果数据库系统是一个参与者,那么与外部数据库相关的对象就是一个边界.但这可能会产生误导:数据库系统是系统的实现细节.即使数据库在多个应用程序之间共享,如果没有使用其内容的应用程序,它也不是一个有任何用途的自治系统.所以:not a boundary.
如果数据库不是参与者,那么它就是"系统"的一个组件(系统由应用程序和数据库组成).它不能是边界(见上文).它也不能是实体,因为用户不关心数据库.因此,它只能是a control.
控件更多地用于用例逻辑(实现用例,协调实体和边界).所以数据库充其量只是控件的一部分(但控件原型是正确的).
此外,一些体系 struct 模式(例如"活动记录")将在实体级别使用数据库.如果它真的是一个实体(用户不在乎),或者它仍然是一个被驱逐的控件,那么它就不明确了.实际上,在确定之前,您需要知道在设计中管理持久对象所要采用的方法.
我个人建议不要混淆抽象的层次,因为这会使图表更难理解,也不太有用.