1

刚开始Star UML画一个class diagram

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

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

在此处输入图像描述

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

  1. 我应该在这里使用什么?aggregationcomposition映射MyBLLMyModel.

  2. 我使用了compositionMyBLLto的关系MyDAO。我的逻辑是BLL层存在后,MyDAO将不再存在,因为它在MyBLL. 这个对吗?

注意:这是针对WebAPI我使用 C# 创建的项目。

4

1 回答 1

5

聚合意味着孩子可以在没有父母的情况下存在。所以,Classroom(parent) 和Student(child) 是最常见的例子。您可以独立拥有教室和学生的地方。

复合意味着孩子不能没有父母而存在。所以,House(parent) 和Room(child) 是最常见的例子。如果没有它在房子里,你就不能有一个房间。

如果没有确切地看到你是如何编码的,我猜你会有这个:

1) MyModel 可能是一种复合关系,因为它在整个生命周期中都包含在您的 MyBLL 中(与其他模型一起)。当 MyBLL 超出范围时,MyModel 也会超出范围。

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

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

于 2014-07-21T13:44:39.803 回答