C# 在N层体系结构中,服务层和业务层的区别是什么

C# 在N层体系结构中,服务层和业务层的区别是什么,c#,model-view-controller,architecture,C#,Model View Controller,Architecture,在N层体系结构中,服务层和业务层的区别是什么 我正在构建N层应用程序,因此我已经浏览了N层体系结构上的许多资源,这些体系结构包含服务层等层 egs 上述项目中的服务类 public class UserService : CrudService<User>, IUserService { private readonly IHasher hasher; public UserService(IRepo<User> repo, IHasher hasher

在N层体系结构中,服务层和业务层的区别是什么

我正在构建N层应用程序,因此我已经浏览了N层体系结构上的许多资源,这些体系结构包含服务层等层 egs

上述项目中的服务类

public class UserService : CrudService<User>, IUserService
{
    private readonly IHasher hasher;

    public UserService(IRepo<User> repo, IHasher hasher)
        : base(repo)
    {
        this.hasher = hasher;
        hasher.SaltSize = 10;
    }

    public override int Create(User user)
    {
        user.Password = hasher.Encrypt(user.Password);
        return base.Create(user);
    }

    public bool IsUnique(string login)
    {
        return !repo.Where(o => o.Login == login, true).Any();
    }
}
public类用户服务:CrudService、IUserService
{
私有只读IHasher哈希器;
公共用户服务(IRepo回购、IHasher hasher)
:基准(回购)
{
this.hasher=hasher;
hasher.SaltSize=10;
}
公共覆盖int创建(用户)
{
user.Password=hasher.Encrypt(user.Password);
返回base.Create(用户);
}
公共bool是唯一的(字符串登录)
{
return!repo.Where(o=>o.Login==Login,true).Any();
}
}

那么,传统的业务层与服务层是否相同呢?

基本区别在于,业务层是定义业务逻辑(数据转换),服务层是访问来自不同客户端的数据。 在我们的项目中,我们通常有以下结构:

服务层:

发布服务端点(这可能是您的MVC网页或WCF端点) 做安全检查吗 将数据从合同数据传输对象映射到业务对象 调用业务层中的功能

业务层

包含业务逻辑
访问数据层(这可能是您的实体框架数据模型)

通常,服务层处理CRUD操作,业务层应用业务规则和逻辑。