-1

我正在启动 C#,想知道下面的方法是否有任何问题:

在此处输入图像描述

简而言之,在层中会有类似于以下的实例:

用户界面

var userBll = _userBll.SaveUser(dtoUser); 

BLL

// Validations and other business rules
return _userDal.SaveUser (dtoUser); // Request DAL

达尔

// Return the saved user to the database
return userDb;

这种方法是否存在问题,其中 UserBll 类将包含“SaveUser”方法?让一个 User 类负责调用 Save 方法不是正确的吗?就像是:

var user = new User();
user.SaveUser()

在这种情况下,User 对象类和 UserDTO 数据传输类之间是否存在冗余?

对不起,如果这听起来像一个愚蠢的问题,但它真的让我感到困惑。

4

1 回答 1

0

DAL 仅仅是对底层数据提供者的抽象。BLL 不知道发生了什么,只知道它想要保存用户,假设验证成功。

因此我相信包含的方法_userDal.SaveUser (dtoUser)更适合这样的事情。但是在我自己的应用程序中,我通常有另一个用于公共/共享项目的程序集。像你的东西dtoUser。我不喜欢 3 层应用程序中 UI 和 DAL 之间的直接依赖关系。

于 2018-08-12T18:28:57.457 回答