Web 三层体系结构业务逻辑层,无逻辑

Web 三层体系结构业务逻辑层,无逻辑,web,web-applications,architecture,controller,3-tier,Web,Web Applications,Architecture,Controller,3 Tier,您好,我目前正在从事一个学校项目,我们正在制作一个web应用程序。我对三层体系结构有很好的理解,但在我的业务逻辑层(BLL)中,我几乎没有逻辑。我使用从数据访问层(DAL)检索到的大部分原始数据显示在表示层(PL)中。目前在我的控制器类中,我只是调用我的mapper facade类方法,没有做任何进一步的操作。所以我的问题是: 这是正确的方法吗,因为我知道DAL永远不能直接与PL对话,反之亦然,还是我应该简单地称控制器为更具描述性的东西 此外,我为每个实体创建了一个控制器类,但是如果我有一些方法

您好,我目前正在从事一个学校项目,我们正在制作一个web应用程序。我对三层体系结构有很好的理解,但在我的业务逻辑层(BLL)中,我几乎没有逻辑。我使用从数据访问层(DAL)检索到的大部分原始数据显示在表示层(PL)中。目前在我的控制器类中,我只是调用我的mapper facade类方法,没有做任何进一步的操作。所以我的问题是:

这是正确的方法吗,因为我知道DAL永远不能直接与PL对话,反之亦然,还是我应该简单地称控制器为更具描述性的东西


此外,我为每个实体创建了一个控制器类,但是如果我有一些方法位于两个实体之间,这意味着它们可以访问两个实体类,那该怎么办呢。

在实际应用程序中,数据库与表示层完全1-1映射是非常罕见的。SQL数据库通常有规范化,NoSQL数据库通常有非规范化。此外,业务层通常需要用户标识来确保安全性,这样就不会直接映射到数据库表示


关于单个控制器了解两个实体的最后一点是非常好的。这就是为什么不直接在表示层中使用这些实体的原因。您可以将这些实体混合到UI更容易使用的东西中,并在数据访问层将它们分开。

在实际应用程序中,数据库与表示层精确地1-1映射是非常罕见的。SQL数据库通常有规范化,NoSQL数据库通常有非规范化。此外,业务层通常需要用户标识来确保安全性,这样就不会直接映射到数据库表示

关于单个控制器了解两个实体的最后一点是非常好的。这就是为什么不直接在表示层中使用这些实体的原因。您可以将这些实体组合成UI更容易使用的东西,并在数据访问层将它们分开。

看起来您有一个

在“现实生活”中,如果你的领域这么简单,你可能想跳过多层的、定制的体系结构,而选择一种更简单的方法,比如说“曲奇饼式”的RAD方法,在这种方法中可以自动生成大量代码。

看起来你有一个


在“现实生活”中,如果您的领域如此简单,您可能希望跳过多层、定制的体系结构,转而采用更简单的方法,例如cookie-cutter-RAD方法,其中可以自动生成大量代码。

好的,谢谢您的输入,听起来很有逻辑!我们必须使用三层体系结构用于学习目的(:好的,很酷,谢谢您的输入,声音逻辑!我们必须使用三层体系结构用于学习目的(: