0


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

,在我的表单中,在同一个 winform 中有许多 DataGridVew 控件,我必须对它们进行一些操作,这就是为什么我为类似操作创建了一个通用方法,比如 GetRecordCount(..)

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

我的问题是 :: 我应该把GetRecordCount(..)方法放在哪里,在 ViewLayer 或 BusinessLogic 层?
如果我们放入GetRecordCount(..)BusinessLogic 层,那么在 BusinessLogic 层中传递 win 控件作为操作参数是否很好?因为 winform 控件是 ViewLayer 的一部分?

4

1 回答 1

1

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

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

希望我有所帮助!

于 2013-12-28T08:00:33.097 回答