如何在UML中将Business层映射到Model对象?

时间:2014-07-21 13:28:27

标签: c# .net asp.net-web-api uml staruml

刚开始使用Star UML来绘制class diagram

与任何应用程序一样,MyBLL(业务层)在与Model(数据库层)交互后创建DAO的实例。

或多或少,简化(为清晰起见)类图如下所示:

enter image description here

很明显,BLL完成后将不再使用模型类。

  1. 我应该在这里使用什么?将aggregation映射到compositionMyBLLMyModel

  2. 我使用了从compositionMyBLL的{​​{1}}关系。我的逻辑是在MyDAO图层存在后,BLL将不再存在,因为它在MyDAO中被引用。这是对的吗?

  3. 注意:这是我使用C#创建的MyBLL项目。

1 个答案:

答案 0 :(得分:5)

聚合表示子节点在没有父节点的情况下存在。因此,Classroom(父级)和Student(子级)是最常见的示例。您可以在哪里独立拥有教室和学生。

复合表示如果没有父级,则子项不能存在。因此,House(父级)和Room(子级)是最常见的示例。在没有房间的情况下你不能拥有房间的地方。

如果没有确切地知道你是如何对此编码的,我猜你会得到这个:

1)MyModel可能是复合关系,因为它在MyBLL中一直包含(与其他模型一起)。当MyBLL超出范围时MyModel也是如此。

2)MyDAO可能是聚合,因为它可以在没有MyBLL的情况下存在,因为它被其他组件使用?即它可能是由主机在你的MyBLL之外创建的并注入你的BLL?

根据您构建系统的实际方式,这两种说法都可能不正确。