N层架构中的服务层和业务层有啥区别

Posted

技术标签:

【中文标题】N层架构中的服务层和业务层有啥区别【英文标题】:What is difference between a service Layer and Business Layer in N layered architectureN层架构中的服务层和业务层有什么区别 【发布时间】:2017-07-05 01:56:03 【问题描述】:

N层架构中服务层和业务层有什么区别

我正在构建 N 个分层的应用程序,所以我已经浏览了 N 个分层架构上的许多资源,其中包含诸如服务层之类的层 例如https://prodinner.codeplex.com/

上述项目中的一个服务类

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();
    

那么传统的业务层和服务层一样吗?

【问题讨论】:

通常服务层处理 CRUD 操作,业务层是应用业务规则和逻辑的地方。 【参考方案1】:

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

服务层:

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

业务层

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

【讨论】:

以上是关于N层架构中的服务层和业务层有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

应用层和业务逻辑层有啥区别?

javaWeb中servlet层和service层有啥不同

批归一化层和演化归一化激活层有啥用

Spring Boot 应用中服务层有啥用?

Jalo 层与服务层

微信小程序的视图层和逻辑层有啥作用