最近,我一直在学习数据访问层,业务逻辑层和演示层,但我仍然有一些不太清楚的事情。

我可以将DAL和BLL与演示层一起在数据库中获取或设置信息。

但是我也考虑了ASP控制事件,以及如何实施它们。

例如,我应该尝试将按钮单击事件放入BLL中,还是应该将其放在文件后面的ASPX代码中?

如果我应该把它们放入BLL,我该怎么做?

我不确定如何使事件称为BLL中的方法,因此任何建议都将不胜感激。

有帮助吗?

解决方案

如果事件与业务模型有关,则应在BLL中创建一种方法。如果是UI类型的事件,请在后面的代码中处理它。因此,例如,如果用户单击一个按钮来计算运输,则在按钮的单击事件处理程序(后面的代码)中调用您的BLL对象的计算方法()方法。但是,如果您有一个更改页面背景颜色的按钮(我想不出一个更好的示例),那么您将在背后的代码中完全处理。

其他提示

考虑到此架构:

演示文稿 - >业务 - >数据

任何层都只能知道并对其直接的权利做出假设。这意味着演示层可以与业务层进行交谈并使用其API,但绝不应该直接与数据层对话。业务层可以使用数据层的API,但它永远不应该知道或对消耗它的演示层进行假设。显然,数据层对其他任何层一无所知。

如果您遵循此普通本金,您会发现您的应用程序将更容易维护。

为了回答您的问题,按钮单击事件属于演示层 - 将按钮单击事件放入您的业务逻辑中会模糊两层之间的界限,并会创建不必要的耦合。

您的ASPX代码后面的文件(演示层)可以直接引用您的BLL(耦合结果),也可以使用更面向服务的方法。这将涉及创建由您的演示层引用并由业务层实施的接口。在应用程序初始化(即在您的global.asax文件中)期间,您可以通过依赖注入或其他一些方法将BLL连接到演示层。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top