我很想知道 ASP.NET MVC 中服务层的一个很好的例子(提供一些代码)是什么?
谢谢。
最佳答案
服务层应该包含业务操作,并且应该与数据访问层(存储库)分离。服务层暴露了可能由多个 CRUD 操作组成的业务操作。这些 CRUD 操作由存储库执行。因此,例如,您可能有一项业务操作,将一些金额从一个帐户转移到另一个帐户,为了执行此业务操作,您首先需要确保发件人帐户有足够的准备金,从发件人帐户借记并贷记收款人帐户。服务操作还可以表示 SQL 事务的边界,这意味着在业务操作中执行的所有基本 CRUD 操作都应该在一个事务中,并且它们要么全部成功,要么在发生错误时回滚。
为了将服务层与底层数据访问层分离,您可以使用接口(interface):
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);
}
}
关于asp.net-mvc-3 - 什么是 ASP.NET MVC 中服务层的好例子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4816692/