私のプロジェクト (ASP.NET MVC を使用) には、AuthenticationService と ProfileService の 2 つのクラスがあります。新しいユーザーが私のサイトに登録すると、認証コントローラーの Register アクションが IAuthenticationService の Register メソッドを呼び出します。これにより、インターフェイスが参照している (コントローラーのコンストラクターに挿入された) 具体的な認証モジュールに従って、ユーザーの認証レコードが作成されます。登録プロセスの一部として、ユーザーのプロファイル レコードが作成されます。これは、挿入された IProfileService で CreateProfile(User) を呼び出すことによって作成されます。
現時点では、コントローラーは両方のサービスを呼び出していますが、コントローラーが実行するビジネス ロジックをできるだけ少なくするというアイデアが気に入っています。認証サービスにプロファイル サービスについて知らせる以外に、他のオプションがあるかどうか疑問に思っています。これには、IAuthenticationService の将来の実装で、CreateProfile を呼び出すことを知る必要がありますか? コードの匂いが随所に書かれていると感じずにはいられません。
もう 1 つの可能性は、{I,}RegistrationService という 3 番目のサービスにロジックを任せることです。
この状況を処理するための推奨または推奨される方法は何ですか? ありがとう