多くのソフトウェアアーキテクチャの本で推奨されているのは、(API)コントローラコードにビジネスロジックを入れないことです。正しい方法で実装すると仮定します。たとえば、コントローラーコードが現在サービスクラスまたはファサードを介してビジネスロジックにアクセスしている場合、正面玄関を経由するのではなく、同じサービスクラス/ファサードをその目的で再利用することをお勧めします。 '(コードビハインドからJSON呼び出しを行うことにより)
基本的で素朴な例の場合:
public class MyController1: ApiController {
public string CreateFile() {
var appService = new AppService();
var result = appService.CreateFile();
return result;
}
}
public class MyController2: ApiController {
public string CreateFile() {
var appService = new AppService();
var result = appService.CreateFile();
return result;
}
}
AppServiceクラスは、ビジネスロジックをカプセル化し(そして別のレイヤーに存在します)、ロジックへのアクセスを容易にします。
public class AppService: IAppService {
public string MyBusinessLogic1Method() {
....
return result;
}
public string CreateFile() {
using (var writer = new StreamWriter..blah die blah {
.....
return 'whatever result';
}
}
...
}