設計上の問題があり、助けを求めています。
「ユーザー」、「機関」というドメインエンティティがあるとします。
この「利用者」は、「会計や図書館」など、さまざまな「サービス」に登録することができます。「ServiceRegistration」の抽象クラスを作成し、「User」にはこれらのサービス登録のリストがあります。これらのサービスは、将来コンポーネントとしてプラグインされるモジュールに他なりません。ライブラリ コンポーネントが完成したら、システムにプラグインできます。Library コンポーネントには、"User" -> "ServiceRegistration" リストに格納される "LibraryServiceRegistration" クラスがあります。「ユーザー」はこの「LibraryServiceRegistration」を認識しないため、拡張可能になります。ライブラリコンポーネントは現在「User」を認識しているため、「LibraryServiceRegistration」情報を「User」に格納できます。
しかし、ここで、「ユーザー」と「機関」に適用可能な新しいコンポーネント「会計」を作成したとします。私の会計コンポーネントには、すべてのユーザーの "User" -> "ServiceRegistration" と "Institution" -> すべての機関の "ServiceRegistration" に "AccountingServiceRegistration" が格納されます。
「会計」コンポーネントを分離して、サービスを提供できるドメインエンティティにも構成できるようにしたいと考えています。したがって、現在、コードを変更することなく、将来「ユーザー」と「機関」にサービスを提供できます。
これは可能ですか?