2012-04-15 52 views
1

我想创建一个存储库模式的n层体系结构。我想知道是否有意义,只需通过BLL层复制所有呼叫,然后通过BLL访问仅数据呼叫?或者我可以通过DAL直接访问某些内容,还可以通过BLL访问某些内容?如果我使用BLL,我还应该访问DAL吗?

+0

我个人只能通过我的bll访问我的dal,并且会重复呼叫。你永远不知道什么时候可能需要添加一些业务逻辑,并且在bll中修改呼叫比在bll上添加新呼叫要容易得多。 – 2012-04-15 14:26:06

+0

如何定义“仅数据调用”?为什么你觉得你在BL里“重复呼叫”?你在编程什么技术(Winforms,Webforms,MVC ...?)? – 2012-04-17 17:58:56

回答

1

海事组织它没有意义只为了它而复制
(但实际上每一个方法都有其优点和缺点,没有什么是永远是错的还是不错的本身)

通常虽与例如(简体)有点“粒”的数据完全一致,表格等

数据层处理

尽管您的业务层可以将其组合起来,并更多地围绕“逻辑”和逻辑模型(数据模型和数据)展开。

如果您发现自己在您的biz图层中有DAL的确切副本,那么您最有可能缺少点类型。有些事情可能需要重新组织,抛弃或简化。

或者例如问问你自己 - 如果你想要例如将DAL替换为使用不同类型的存储(不同组织的事物或任何需要更改数据/ DAL操作方式的内容) - BLL的外观如何?一样?你的业务层不应该“遵循数据” - 它应该有它自己的规则,更多的关于你的域的逻辑,你在做什么。虽然数据应该是关于数据的。因此,简而言之,问题主要是你如何设计你的系统 - 如果你很好地利用了业务层(通常你应该除非它相对简单,或者例如你决定采用完全不同的架构),然后使用它,如果没有,则不需要重复。

希望这有助于。

相关问题