【发布时间】:2009-09-10 16:10:09
【问题描述】:
在解决方案/项目中,我应该将模型放置在数据访问层的什么位置。例如,如果我有一个登录模块需要使用数据库中的用户表,并且我有一个 User.cs 模型。那个文件会去哪里。如果其他模块需要能够访问此 User.cs 以获取信息,那么我无法将其放入模块中。但后来我看不出这如何保持松散耦合。
【问题讨论】:
在解决方案/项目中,我应该将模型放置在数据访问层的什么位置。例如,如果我有一个登录模块需要使用数据库中的用户表,并且我有一个 User.cs 模型。那个文件会去哪里。如果其他模块需要能够访问此 User.cs 以获取信息,那么我无法将其放入模块中。但后来我看不出这如何保持松散耦合。
【问题讨论】:
对于松散耦合,您通常将这些对象的接口存储在单独的程序集中,以供所有其他项目参考。在我的公司,我们称之为“合同”程序集,它通常仅包含接口或简单类型。
至于 模型应该去哪里,如果您将接口保存在单独的 DLL 中 供所有人使用,您可以 把你的模型放在任何你想要的地方。通常,我认为我的 WCF 合同或我的 ORM(如 Linq2Sql 等)类型是我的模型,我将它们存储在我通常存储这些东西的任何地方。我认为“模型”更流畅......无论哪里感觉都不错。
我对视图和视图模型位于以“视图”和“视图模型”结尾的命名空间更加严格
希望这会有所帮助。
【讨论】: