現在、サービス レイヤー指向の構造、最下層としての永続マネージャー、最上位のサービス クラスのセットアップに取り組んでいます。持続性マネージャーは、作成、更新、1 つを検索、すべてを検索、フィルター、並べ替えなど、エンティティに関するすべての基本的なことを行います。サービスには、エンティティの最小限の実行可能なビジネス ロジックが含まれます。
ここで、マネージャーは他のマネージャーにアクセスしてはならず、サービスはマネージャー間で作業を実行する必要があるというルールを実装したいと考えています。可視性ルールを備えた Java 型システムはこれを提供しませんが、private/protected は他のマネージャーだけでなくグローバルに有効であり、マネージャーは他のサービスから可視である必要があります。
そこで、クラス間のアクセス制限を確実に有効にする AOP について検討しましたが、ルールは実行時ではなくコンパイル時と見なされるようにしたいと考えています。AspectJ がコンパイル時の AOP を提供しているようですが、これには、上記のようにクラス間のコンパイル時のアクセス制限が含まれていますか?
これに関するヒントは、その道を追求するかどうかを迅速に決定するのに役立ちます。
ありがとうございました!