首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用bll,dal和model?

如何使用bll,dal和model?
EN

Stack Overflow用户
提问于 2010-03-04 17:20:52
回答 2查看 4.5K关注 0票数 4

在我的公司里,我必须使用Bll,Dal和模型层来创建数据库应用程序。

我在学校学到,每个数据库表都应该是我模型中的一个对象。所以我创建了我的数据库的整个模型。此外,我还了解到,对于每个表(或模型对象),都应该在DAL中创建一个DAO。所以我这样做是为了。

现在我被BLL类所困住了。我可以为每个DAO/模型对象编写一个BLLclass,或者我可以编写一个组合了一些(逻辑)DAO的BLLclass……或者我可以只编写一个Bllclass来管理一切。(最后一个,我敢肯定这不是最好的方法。)

处理这个Bll“问题”的最佳实践是什么?

第二个问题。如果bll需要来自其他表的表内容,而它并不负责,那么获取内容的最佳方式是什么?去问负责的BLL还是直接去问DAO?

在过去的两个月里,我一直在为这些问题而苦苦挣扎,我不知道什么是最好的解决方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-11 13:21:03

你应该从让应用程序工作所需的东西开始。

例如:“我需要一个web用户界面来进行用户登录”

  1. 所以我需要一个使用模型来检查昵称并传递
  2. 的控制器,然后我需要一个bll对象来执行检查昵称并传递
  3. 的逻辑,然后我需要一个对象来访问数据库以检索用户信息

如果你不开始这样思考(一种从上到下的方法),那么你将会写出很多永远不会被使用的代码。

注意: dal是否是orm映射是轶事。另外,如果模型使用bsl或bsl,请使用模型。我的天。

票数 5
EN

Stack Overflow用户

发布于 2010-03-04 17:32:37

我在学校学到,每个数据库表在我的模型中都应该是一个对象。

所以你没有学习面向对象?继承?将多个对象类型映射到一个表?只有简单的“愚蠢”的每个表都是一个对象?有更多的逻辑方法来映射对象。它们都有自己不同的优点和缺点(即根据情况来选择它们,其中包括每个对象中的字段数量)。

我还了解到,对于每个表(或模型对象),都应该在DAL中创建一个DAO。

去学校,要回那笔钱-他们都是笨蛋。生成的DAO从一开始就很糟糕。更糟糕的是,每个对象都有一个。配置胜过代码-泛型DAO可以处理x个不同的对象,具体取决于配置。测试和加载的代码要少得多。这就是合适的框架如何做到这一点(如Hibernate/NHibernate)。您可以很容易地编写一个DAL,它在操作期间公开了大约六个方法,并处理无限数量的对象。一开始,您告诉每个DAL它必须处理哪个对象以及如何处理,这样它就可以生成适当的SQL等。

处理这个Bll‘问题’的最佳实践是什么?

回到学校,学习基础知识。请阅读O/R映射器。Hibernate / NHibernate (你不用命名你使用的语言),Toplink等等。

如果bll需要来自其他表的表内容,那么获取内容的最佳方式是什么?去问负责的BLL还是直接去问DAO?

取决于架构。通常,业务对象将来自工厂,并且应该只与工厂对话。然后,工厂将在做真正有趣的事情(如缓存)之前处理DAL。

阅读Hibernate / NHibernate。

一本好书也是"Scott Ambler的“古老的”工作的构建对象应用程序“。

票数 -5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2378043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档