问这个问题我觉得自己是个菜鸟,但这个问题已经困扰了我一段时间了。
在设计分层应用程序的BLL时,您会将所有实体类放在一个命名空间中吗?例如:如果您有一个包含客户及其车辆的数据库,这些车辆将按月进行维修。我认为应该将客户和他们的车辆放在与“服务模块”不同的“模块”中(这样,如果您需要更新服务的完成方式或数据的存储位置,就不需要接触Customer\Vehicle模块)。
我这样想是正确的,还是我应该改变我的设计理念?
这给我带来了一个使用LINQ to SQL的问题。如果表的实体类的一半包含在'module‘A中,另一半包含在'module’B中,那么在某个地方,您将拥有'module‘A reference 'module’B,反之亦然,以适应以‘module’为边界的两个表之间的关联。
或者(现在想一想)你会在“模块”中有一个表的实体类重叠吗(在两个模块中有相同的类)?
任何建议都将不胜感激。
发布于 2013-03-04 17:51:37
不完全清楚你是否也有一个数据访问层,因为你提到“如果你需要更新完成服务的方式或数据的存储位置,你不需要接触Customer\Vehicle模块”。DAL将负责处理检索和存储数据,无论这是在哪里。
但当然,可能是必须更新车辆,如果需要在一个地方完成这些规则的更新,这将是最方便的。您可以使用这些规则简单地创建一个Customer和Vehicle BLL。然后,您只需添加一个使用客户和车辆的CustomerVehicleService。没有你不能遵守的规则。
https://stackoverflow.com/questions/15198560
复制相似问题