选择模型还是BLL/DAL/BO层?

3

我想知道一个问题 - 把所有的业务对象和适配器放在Model文件夹中是否更好,还是创建3层(BLL/DAL/BO)而不是Model文件夹?

4个回答

2
如果您遵循单一职责原则(SRP),即一个类只应该因为一个原因而改变,答案就很清楚了:创建三个层次(BLL/DAL/BO)。至于放置它们的位置——出于组织原因,我会为每个层次创建一个不同的文件夹。

2
我不明白物理文件夹配置如何影响您的代码是否符合SRP原则。 - John Farrell
@jfar - 说得好。我误读了问题。我想看到“层”而不是“文件夹”让我感到困惑。 - Oded

0
我更喜欢创建一个类库,其中包含所有的数据访问代码,然后在MVC应用程序中引用它,或者使用依赖注入。
您可以使用模型文件夹为页面创建特定于站点的视图模型。

0

文件的物理位置由您决定。

物理位置并不会使代码更好或更差。


0
我不确定为什么,但我真的很讨厌“BLL/DAL/BO”的命名方式。我相信肯定有某个“微软最佳实践白皮书”之类的东西说这是一个好主意,这可能就是问题所在。人们看到这样的命名就会以为自己做得“正确”。
遵循SOLID原则和领域驱动设计。
如何划分类,无论是按文件夹、命名空间、程序集等,都是个人偏好的问题。我个人喜欢将事物分成多个程序集,因为这样更容易保持诚实,防止循环依赖,并防止将某些东西与不应该依赖的东西耦合在一起。然而,拥有过多的程序集确实存在缺陷,因此需要进行管理。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接