我想知道一件事 - 将所有业务对象和适配器放在Model文件夹中还是创建3层(BLL/DAL/BO)而不是Model文件夹更好?选择模型或BLL/DAL/BO图层?
3
A
回答
2
如果按照single responsibility principle,其中规定,一类只为一个原因改变,答案是明确的:
创建3层(BLL/DAL/BO)
至于放置它们的位置 - 出于组织方面的原因,我会为每个图层创建一个不同的文件夹。
0
我更喜欢用我所有的数据访问代码创建一个类库,然后在MVC应用程序中引用它,或者使用依赖注入。
您可以将模型的文件夹用于页面的网站特定视图模型。
0
文件的物理位置取决于您。
物理位置不会使代码变得更糟或更好。
0
我不知道为什么,但我真的很讨厌“BLL/DAL/BO”的命名。我确信有一些“微软最佳实践白皮书”或某个地方说这是个好主意,这可能是问题所在。人们看到这一点,并认为如果他们说出这样的话,那么他们必须做到“正确”。
遵循SOLID原则和域驱动设计。
如何划分类,无论是文件夹,命名空间,程序集等都是个人喜好的问题。我个人喜欢将事情分解成很多组件,因为它使我更容易保持诚实并防止循环依赖,并将事物耦合到他们不应该耦合的事物上。虽然有太多的程序集肯定会出现问题,所以你也必须管理它。
相关问题
- 1. 分层或平坦的域模型图?
- 2. Symfony推进模型图层
- 3. 选择SelectListItem模型
- 4. 模型选择和sklearn一起分层采样
- 5. Rails:具有血统的模型的分层选择
- 6. WPF/MVVM保存视图模型所选择的项目/模型
- 7. 如何在WMS或矢量图层上选择要素
- 8. 与相关模型或后代只选择模型具有相关车型
- 9. Yii2选择关联模型
- 10. 选择使用NG-模型
- 11. 选择会对模型
- 12. Django - 选择与模型(FKs)
- 13. 角NG-模型NG-选择
- 14. Django - 模型的选择
- 15. ExtJS网格选择模型
- 16. KnockoutJS在模型上选择
- 17. EXTJS GridPanel选择模型
- 18. 视图层中的DTO或域模型对象?
- 19. 使用Python或模型构建器创建XY图层
- 20. 在Grails中选择深层或浅层JSON序列化
- 21. 使用PDO创建模型图层
- 22. 将现有的选择选项绑定到Knockout视图模型
- 23. 模型不插入选择选项
- 24. IE6复选框选择模型问题
- 25. cakephp模型层次
- 26. 视图模型和模型之间的MVVM层?
- 27. 如何在选择2个或多个模型回where子句
- 28. 选择相关模型:左连接,prefetch_related或select_related?
- 29. 如何从模型内部选择QTableView索引或行
- 30. 在选择使用NG-值或NG-模型
我不明白物理文件夹配置是否会影响您的代码是否是SRP。 – jfar 2011-03-09 21:44:34
@jfar - 公平点。我误解了这个问题。我想看到“图层”而不是“文件夹”扔我离开。 – Oded 2011-03-09 21:49:48