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层架构中的服务层和业务层有啥区别的主要内容,如果未能解决你的问题,请参考以下文章