3

问这个问题我觉得自己像个菜鸟,但它已经困扰了我一段时间了。

在设计分层应用程序的 BLL 时,您会将所有实体类放在一个命名空间中吗?例如:如果您有一个包含客户及其车辆的数据库,并且这些车辆按月进行维修。我认为可以将客户及其车辆保存在与“服务模块”不同的“模块”中(这样,如果您需要更新服务的完成方式或数据的存储位置,则无需触摸客户\车辆模块)。

我这样想是正确的,还是应该改变我的设计理念?

这给我带来了使用 LINQ to SQL 的问题。如果表的实体类的一半包含在“模块”A 中,另一个包含在“模块”B 中,那么您将在某个地方使用“模块”A 引用“模块”B,反之亦然,以适应 2 个表之间的关联与“模块”接壤。

或者(现在才想到这一点)您是否会在“模块”中重叠 1 个表的实体类(在两个模块中具有相同的类)?

任何意见,将不胜感激。

4

1 回答 1

1

尚不清楚您是否还具有数据访问层,因为您提到“因此,如果您需要更新服务完成方式或数据存储位置,则无需触摸 Customer\Vehicle 模块” . DAL 将负责处理检索和存储数据,无论何时何地。

但当然,车辆可能必须更新,如果更新这些规则需要在一个地方完成,那将是最方便的。您可以使用这些规则简单地创建一个客户和车辆 BLL。然后,您只需添加一个使用 Customer 和 Vehicle 的 CustomerVehicleService。没有你做不到的规则。

于 2013-03-04T09:51:36.827 回答