我很想知道 ASP.NET MVC 中服务层的一个很好的示例(提供一些代码)是什么?
- 它到底应该包括什么?包含什么?
- 它应该与什么脱钩?
Thanks.
服务层应该包含业务操作,并且应该与数据访问层(存储库)解耦。服务层公开可以由多个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);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)