将Models / POCO放在单独的DLL中是一个好建议吗?

时间:2012-07-25 11:22:28

标签: .net architecture separation-of-concerns

原则如何将POCO(或MVC中的模型)放在一个单独的DLL中?

关键是当对象分发给不同的开发人员并由其使用时,域宽对象更容易“移动”。在这个实际场景中,“我们”是一个很快就会成为两个的开发人员。我们将讨论系统(和不同的)dll的不同问题,但我们将分享一些POCO和Enums。

public class Customer
{
    public int CustomerId { get; set; }
    public string Name { get; set; }
}

问题。是否有一些缺点为POCO和Enums创建一个单独的dll?所谓的域范围使用。好吗?为什么或者为什么不?

1 个答案:

答案 0 :(得分:1)

就个人而言,我将始终将我的域类放入不同的dll中。您现在可能看不到它的需要,但它几乎总是会在以后出现(例如,如果应用程序架构需要更改,即从Web表单更改为mvc)。通过将其分成类库(dll),您将执行关注点分离概念的一部分。您的所有业务逻辑都应包含在类库与前端之间。然后前端可以专注于导航,而不必考虑类库。

所以你的好处至少是:关注点分离,可以重新分配和重用,最佳实践,更清洁的前端代码/项目。

缺点是,如果您在多个项目中使用它,您将必须控制哪些应用程序正在使用哪些库,并确保它们具有最新的库,或者至少是最新的相关库。

从听起来来看,在你的情况下,这只是一个优惠的事情。但是imho,你应该适应它的偏好。