5
A
回答
14
服务层应该包含业务操作,它应该与数据访问层(存储库)分离。服务层提供可由多个CRUD操作组成的业务操作。这些CRUD操作由存储库执行。因此,举例来说,您可以进行业务操作,将一定数量的资金从一个账户转移到另一个账户,并且为了执行此业务操作,您需要首先确保发件人账户有足够的准备金,借记发件人账户并贷记收款人帐户。服务操作还可以表示SQL事务的边界,这意味着在业务操作内部执行的所有基本CRUD操作都应该在事务内部,并且如果出现错误,它们都应该成功或者回滚。
为了从底层数据访问层,你可以使用接口分离的服务层:
public class BankService
{
private readonly IAccountsRepository _accountsRepository;
public OrdersService(IAccountsRepository accountsRepository)
{
_accountsRepository = accountsRepository;
}
public void Transfer(Account from, Account to, decimal amount)
{
_accountsRepository.Debit(from, amount);
_accountsRepository.Credit(to, amount);
}
}
相关问题
- 1. 开源Java游戏的一个很好的例子是什么?
- 2. Flyweight模式的一个很好的例子是什么?
- 3. 一个好的Web服务的例子
- 4. 什么是动态铸造的一些'很好用'的例子?
- 5. 什么是一个很好的中级到高级ASP.NET MVC 2书籍?
- 6. vb.net中的客户端 - 服务器设置的一个很好的例子?
- 7. 什么是PHP中的MVC的例子?
- 8. Java中的WS-Eventing客户端的一些很好的例子是什么?
- 9. 什么是一个很好的洗牌比例?
- 10. 很好的例子
- 11. 什么是一个很好的价值种子stdgen
- 12. 什么是最好的:几张桌子还是一个很大的桌子?
- 13. 什么是使用nHibernate的web 2.0网站的一些很好的例子?
- 14. 什么是使用SQL的OUTER JOIN的一些很好的例子?
- 15. 服务层和ASP.NET MVC的目的2
- 16. 这是一个很好的使用继承的例子吗?
- 17. ASP.NET MVC - 什么是Url.Content()的用例?
- 18. MVC的好例子?
- 19. Java中LTRIM和RTRIM的一个很好的选择是什么?
- 20. WCF包装asp.net的服务层mvc
- 21. asp.net的MVC服务层和单元
- 22. 什么网站是JQuery的好例子
- 23. 实践中是否有MVC框架的一个好例子?
- 24. Lambda解释和它是一个很好的例子
- 25. 这是一个很好的例子为策略模式
- 26. 在swift3中区分fileprivate和private的一个很好的例子
- 27. Asp.net。什么是最好的方式,服务器端验证和客户端验证一起工作很好
- 28. 什么是NHibernate演示文稿的一个很好的示例域?
- 29. 什么是.net 4.0表达式树的一个很好的用例?
- 30. 在JavaScript中也使用特征的OOP的一个很好的例子是什么?
非常好的例子:) – frennky 2011-01-27 15:19:56