我正在启动C#,想知道下面的方法是否有问题:
简而言之,在各层中将存在类似于以下内容的实例:
UI
var userBll = _userBll.SaveUser(dtoUser);
BLL
// Validations and other business rules
return _userDal.SaveUser (dtoUser); // Request DAL
DAL
// Return the saved user to the database
return userDb;
这种方法是否存在问题,其中UserBll类将包含“ SaveUser”方法?让User类负责调用Save方法是否正确?像这样:
var user = new User();
user.SaveUser()
在这种情况下,User对象类和UserDTO数据传输类之间是否会有冗余?
很抱歉,这听起来像是一个愚蠢的问题,但这确实使我感到困惑。
答案 0 :(得分:0)
DAL仅仅是对基础数据提供者的抽象。验证成功后,BLL不知道发生了什么,只是知道它想保存用户。
因此,我相信包含_userDal.SaveUser (dtoUser)
的方法更适合这种情况。但是在我自己的应用程序中,我通常会为通用/共享项目使用另一个程序集。类似于您的dtoUser
。我不喜欢3层应用程序中UI和DAL之间的直接依赖关系。