【问题标题】: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 操作,业务层是应用业务规则和逻辑的地方。

标签: c# model-view-controller architecture


【解决方案1】:

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

服务层:

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

业务层

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

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2014-04-13
    • 2011-12-06
    • 2011-02-07
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 2014-02-15
    相关资源
    最近更新 更多