これを実装する方法はたくさんあります。サービスレイヤーを別のアセンブリにセグメント化するか、ASP.NET MVCアプリケーションと同じアセンブリ(Services
フォルダーなど)に配置することができます。そのためのルールは実際にはありません。これは、このレイヤーに期待する再利用性のレベルとプロジェクトのサイズによって異なります。ただし、重要なのは、このサービスレイヤーを抽象化することです。
public interface IMyService
{
... some service methods
}
次に、コントローラーをこの抽象化でのみ機能させます。
public class MyController: Controller
{
private readonly IMyService _service;
public MyController(IMyService service)
{
_service = service;
}
public ActionResult MyAction()
{
... call some methods on the service layer
}
}
次に、具体的な実装を結び付けるために、依存性注入フレームワークを構成します。