Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model 如何使用bll、dal和模型?_Model_Data Access Layer_Bll - Fatal编程技术网

Model 如何使用bll、dal和模型?

Model 如何使用bll、dal和模型?,model,data-access-layer,bll,Model,Data Access Layer,Bll,在我的公司,我必须使用Bll、Dal和模型层来创建带有数据库的应用程序 我在学校学到,每个数据库表都应该是我模型中的一个对象。所以我创建了数据库的整个模型。 我还了解到,对于每个表(或模型对象),都应该在DAL中创建一个DAO。所以我这样做是为了 现在我被BLL课程困住了。我可以为每个DAO/ModelObject编写一个BLLclass,也可以编写一个结合了一些(逻辑)DAO的BLLclass。。。 或者我可以只写一个Bllclass来管理所有的东西。(我相信这不是最好的方式) 处理这个Bll

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

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

现在我被BLL课程困住了。我可以为每个DAO/ModelObject编写一个BLLclass,也可以编写一个结合了一些(逻辑)DAO的BLLclass。。。 或者我可以只写一个Bllclass来管理所有的东西。(我相信这不是最好的方式)

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

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

在过去的两个月里,我一直在努力解决这些问题,我不知道什么是最好的解决方法

我在学校里学到了 databasetable应该是中的一个对象 我的模特

所以你没有学习面向对象?遗产将多个对象类型映射到一个表?只有简单的“愚蠢”每个表是一个对象?有更多的逻辑方法来映射对象。它们都有各自不同的好的方面和坏的方面(即,您根据环境选择它们,其中包括每个对象中的字段数)

我还了解到,对于每一张桌子 (或模型对象)应该有一个 刀被创造成DAL

去学校,要求退款——他们都是白痴。生成的DAO一开始就不好。如果每个对象都有一个,情况会变得更糟。配置胜过代码——根据配置,通用DAO可以处理x个不同的对象。要测试和加载的代码更少。正确的框架就是这样做的(比如Hibernate/NHibernate)。您可以esily编写一个DAL,该DAL在操作期间公开大约六个方法,并处理无限数量的对象。在开始时,您告诉每个DAL它必须处理哪个对象以及如何处理,以便它能够生成适当的SQL等

处理的最佳实践是什么 这个问题

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

如果bll需要tablecontent 从另一张没有的桌子上 负责,最好的方法是什么 获取内容?去问路 负责BLL或直接前往 刀

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

阅读Hibernate/NHibernate


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

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

例如:“我需要一个用于用户登录的web ui”

  • 所以我需要一个控制器,它使用一个模型来检查昵称和传递
  • 然后我需要一个bll对象来执行检查昵称和传递的逻辑
  • 然后我需要一个dal对象来访问数据库以检索用户信息
  • 如果你不开始这样想(自上而下的一种方法),那么你将编写大量永远不会被使用的代码

    注:dal是否为orm映射是轶事。此外,如果模型使用bsl或bsl使用模型。伊姆霍