N层ASP.NET应用程序:为我的所有图层或每个图层的一个类库提供一个类库?N层ASP.NET应用程序:每个图层的一个类库或每个图层的一个类库?
回答
如果您的项目足够小,每个图层只有一个图库足够,那么我会采用这种方法。这有助于保持明确的问题分离。
单独的DLL不会在我的经验中不利地影响性能。在某些情况下,它可以帮助性能(例如延迟加载很少使用的组件)。所有的DLL都被加载到相同的地址空间,所以就运行时而言,一个或多个DLL几乎没有任何区别。
应该编写每个图层,就像多个前端将要使用它一样。这将进一步帮助保持分离,并鼓励更正确和更容易维护的代码。
我不明白这一个评论“你的问题一定不是”不言自明“。:-)”:D ..但你的意见和答案说得很清楚..谢谢你(Y) – lKashef 2011-03-04 01:21:30
我会去为每个图层的类库。这样你可以在其他项目中重用你的库。另外这会给你更多的灵活性...
,但除了库越来越迫使应用程序要经过不同的DLLS这会影响我的应用程序的性能与否? – lKashef 2011-03-03 20:33:14
@lKashef - 你的问题一定不是“不言自明”。 :-) – 2011-03-03 20:37:30
@lKashef我不认为有很多DLL会影响你的应用程序的性能。 – 2011-03-03 20:38:11
为什么不能同时使用,一个共同的类库全球所有的东西,一个类库每个项目的项目具体的事情
当然,我们需要知道更多关于您的特定情况更加准确,遗憾的是没有一种情况适用所有解决方案
@K Ivanov。这是一种CMS,因此非常简单,我从后端添加内容并在前端显示它们,我让访问者添加项目并验证它们,然后将它们添加到数据库中。当然从后端你可以看到管理员的所有网站的内容(编辑,删除和搜索) – lKashef 2011-03-03 20:35:27
有许多pasterns可以使用,都有其优点和缺点,最好做一些阅读和选择一些简单的和消耗殆尽,这里有一些参考http://en.wikipedia.org/wiki/Multitier_architecture – 2011-03-03 20:39:29
我更喜欢每个图层的一个类库。它提供了图书馆之间良好的组织和层次。例如,UI层从不知道数据访问层,并且因为它没有对数据访问层的引用而无法知道。
但是,有时层被放置在相同的类库中以缩短编译时间。如果你没有这样的开销,总是选择分开的。
@Ahmed。对不起,您是否想说如果我的网站上有很多流量,那么单独的图层会导致更长的编译时间,从而导致性能问题! – lKashef 2011-03-03 20:38:31
@lKashef - 程序不是为每个用户单独编译的。 IIS将维护该应用程序的编译版本,直到它被停用或代码被修改。这与您拥有的流量无关。另外,单独的DLL可以缩短编译时间,因为只有需要更改的项目才需要重新编译。打破两个输出二进制文件的解决方案可能会将编译时间缩短一半。 – 2011-03-03 20:46:53
- 1. 确定一个n层应用程序中的层数
- 2. 查找每个Docker镜像的图层和图层大小
- 3. ASP.NET MVC3服务层 - 每个服务的多个存储库?
- 4. 在一个层的浮动图像,在另一个内部层
- 5. 选择顶层的每一个国家
- 6. 业务层中的多个类库,还是一个?
- 7. 设计一个每层都是插件组件的n层架构应用程序是否正确?
- 8. 一个图层的多个DLL
- 9. 两个html对象,一个游戏图层和一个gui图层。好坏?
- 10. 如何将一个图层上的一条线的ToPoint和FromPoint添加到另一个图层/要素类
- 11. 必应地图v8 AJAX:隐藏一层每个javascript
- 12. 制作一个现有的C#应用程序n层
- 13. Caffe中的一个图层中的图层
- 14. 实体框架:每个类型和表混合表每一个分层
- 15. 流利的NHibernate分层数据问题(每个层次一个表)
- 16. 用php打印数组的第一个或前几个“图层”?
- 17. CSS图层 - 我不能在另一个图层上获得一个元素
- 18. 如何将一个子图层居中在另一个图层上?
- 19. Postgresql - 每个用户一个数据库或每个用户一个数据库
- 20. 我有一个分为多层的asp.net mvc应用程序。
- 21. 如何在一个分层的类
- 22. 服务层:每个应用程序或每个View模型有1个实例? (或者:给每个视图模型自己的数据上下文)
- 23. 如何在N层图层应用程序中实现IDependencyResolver?
- 24. Gimp:在一个图像中移动一个图层的位置
- 25. 将图层添加到另一个图层
- 26. 在NHibernate中加入到每个类层次结构的子类
- 27. 在ASP.NET中创建一个n层网站的正确过程
- 28. 有没有办法使用python将一个过滤器从一个图层复制到另一个图层
- 29. OBJ-C - 从一个类层次结构得到一个类名
- 30. 休眠时每个子类和每个层次结构的混合表
@IKashef做这个问题,适用于企业级Web应用程序,如www.bantamlive.com – 2011-03-04 16:24:02