在BusinessLogic层中操作表单的控件

时间:2013-12-28 07:42:31

标签: c# .net winforms architecture layered


我是.net编程新手。
我正在开发一个Windows应用程序(C#),我在其中使用分层架构(3层[查看图层业务逻辑层数据访问层])。但我陷入了View层和BusinessLogic层的概念之间。例如

让我的形式在同一个winform中有很多DataGridVew控件,我必须对它们进行一些操作,这就是为什么我创建一个类似操作的常用方法,说GetRecordCount(..)

private int GetRecordCount(DatagridView dgv)
{
     //calculate record row count and return that.
}

我的问题是::我应该在ViewLayer或BusinessLogic层中放置GetRecordCount(..)方法? 如果我们将GetRecordCount(..)放在BusinessLogic层中,那么在BusinessLogic层中传递win控件是否合适,因为操作b'coz winform控件的参数是ViewLayer的一部分?

1 个答案:

答案 0 :(得分:1)

业务层应该只做决策/计算以支持您的业务模型。在我看来,GetRecordCount 不应该在业务层中。您不应以任何方式将UI的元素传递给业务模型来操纵它们。视图/ UI层应使用业务层的计算/决策处理所有显示详细信息。

此特定计算仅用于显示目的的计算,并且不会用于任何其他目的,因为它会计算 datagridview 的行。如果另一种方法会返回系统中包含的记录总数,我可能会把它放在业务层上。但在这种情况下,该方法应该转到UI层。

希望我帮忙!

相关问题