层何时应该作为单独的部署单元实现?

时间:2011-02-17 09:55:30

标签: .net design-patterns data-access-layer layer

在设计应用程序时,各个层(例如演示文稿,业务逻辑和数据访问)应该在什么时候分成不同的程序集?

2 个答案:

答案 0 :(得分:0)

如果您希望以一种可以选择最终用户无法访问整个项目类的方式提供您的产品,那么主要是您将在不同的库中分类。

在客户端 - 服务器应用程序中思考。如果您有云计算方案,为什么要将服务器类分发给客户?您更愿意分发打包在服务器独立程序集中的表示和服务客户​​端类。这也是一种很好的安全措施。

在程序集中分离的另一个好处是避免将大型程序集加载到应用程序域(AppDomain)。例如,如果你的程序的使用不需要超时的图像处理,但是,每天一次操作需要成像类,你可以节省处理时间 - 将大型程序集加载到应用程序域时 - 和内存因为您的应用程序不需要具有所有内容的程序集,并且在一天结束时,您的应用程序具有较少的内存使用量。

从建构的角度来看,由于你会意识到没有混合图层,所以在程序集中分离会强制执行好的做法,因为,例如,你不应该在展示程序集中需要业务程序集,所以,没有人可以直接从用户界面访问业务逻辑。

最后,在部署方面,您可以节省时间,因为您可以使用特定程序集更新模块化应用程序,简化上载过程或自动更新过程,因为下载时间会缩短,从而节省网络流量。

答案 1 :(得分:0)

就个人而言,我喜欢在项目的乞讨时分割我的图层,而不是必须进入不同的程序集但不同的文件夹。

当我需要在不同项目中使用图层时,我会将不同的图层移动到不同的程序集中。

一旦图层在不同的程序集中,您需要担心版本控制和可能非常麻烦的排序。