我正在考虑在一个项目中实施Robert Martin的Clean Architecture,我正在努力找出如何处理非平凡的用例.
我发现很难将体系结构扩展到复杂/组合的用例,特别是使用者是系统而不是用户的情况,就像系统执行某种批处理一样.
为了便于说明,我们假设像伪代码一样实现的"系统更新所有帐户余额"这样的用例
class UpdateAllAccountBalancesInteraction {
function Execute() {
Get a list of all accounts
For each account
Get a list of all new transactions for account
For each transaction
Perform some specific calculation on the transaction
Update account balance
}
}
Run Code Online (Sandbox Code Playgroud)
此外,"获取所有帐户的列表","获取帐户的所有新交易列表","对交易执行某些特定计算","更新帐户余额"都是他们自己和每个的有效用例它们已经在自己的交互类中实现.
出现了一些问题: