システムのパブリック API を設計しています。計算またはドメイン ロジックをどこに置くべきか、それを使用する API またはクライアントに置くべきか疑問があります。
銀行システムがあるとしましょう。現金金額を計算するためのロジックをどこに配置すればよいでしょうか? 消費者は API の Deposit メソッドを呼び出すだけで、API に計算を処理させますか?
API は ASP.NET WebApi を使用して構築されます
ありがとう
システムのパブリック API を設計しています。計算またはドメイン ロジックをどこに置くべきか、それを使用する API またはクライアントに置くべきか疑問があります。
銀行システムがあるとしましょう。現金金額を計算するためのロジックをどこに配置すればよいでしょうか? 消費者は API の Deposit メソッドを呼び出すだけで、API に計算を処理させますか?
API は ASP.NET WebApi を使用して構築されます
ありがとう
ここであなたの問題を完全に理解しているかどうかはわかりませんが、ビジネスロジックはAPIで処理する必要があります(逆はどうなるのでしょうか)。
実装の観点からは、システムを簡単に単体テストできるように、システムを分離するためのサービスとしてそれらを処理する必要があります。たとえば、以下のものはあなたのものですCalcService
:
public interface ICalcService {
double Calc(double left, double right);
}
public class CalcService : ICalcService {
public double Calc(double left, double right) {
return (left + right);
}
}
次に、このサービスを次のようにコントローラーに注入する必要があります。
public DepositController : ApiController {
private readonly ICalcService _calcService;
public DepositController(ICalcService calcService) {
_calcService = calcService;
}
//now, you can use the _calcService inside your action methods
}
それを機能させるには、IoCコンテナを介してサービスを登録する必要があります。