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. 一到一个在每一个分层
- 3. 表每层次 - 每个子类
- 4. CALayers基于一层的多个图层
- 5. ASP.NET MVC3服务层 - 每个服务的多个存储库?
- 6. 查找每个Docker镜像的图层和图层大小
- 7. 如何确定一个ggplot2对象的每个图层的几何类型?
- 8. 在一个层的浮动图像,在另一个内部层
- 9. 外键分配每个类型层次
- 10. 选择顶层的每一个国家
- 11. 业务层中的多个类库,还是一个?
- 12. 设计一个每层都是插件组件的n层架构应用程序是否正确?
- 13. 一个图层的多个DLL
- 14. OpenLayers中每层多个图像
- 15. 两个html对象,一个游戏图层和一个gui图层。好坏?
- 16. 如何将一个图层上的一条线的ToPoint和FromPoint添加到另一个图层/要素类
- 17. 必应地图v8 AJAX:隐藏一层每个javascript
- 18. 制作一个现有的C#应用程序n层
- 19. 如何重构单身每个类都有一个getInstance()方法的类层次?
- 20. Caffe中的一个图层中的图层
- 21. n层和每层需要的对象?
- 22. 实体框架:每个类型和表混合表每一个分层
- 23. 应用一个函数到3D阵列的每个层,返回一个数组
- 24. 一个框架中的多个JPanel /有一个支架图像和另一个顶层组件的图层
- 25. 单个的opengles 2.0应用程序中的多个图层
- 26. 流利的NHibernate分层数据问题(每个层次一个表)
- 27. 使用NHibernate无歧义地坚持每个类层次结构的一个表?
- 28. 用php打印数组的第一个或前几个“图层”?
- 29. 如何将一个子图层居中在另一个图层上?
- 30. CSS图层 - 我不能在另一个图层上获得一个元素
@IKashef做这个问题,适用于企业级Web应用程序,如www.bantamlive.com – 2011-03-04 16:24:02