0

私は典型的な休止状態の pojo クラスに見えます

public class User {

    private String username;
    .
    .
    .
    private Address address;

}

public classs Address {

    private String line1
    .
    .
    .
    private User user;

}

つまり、1 対 1 の依存関係は、1 人のユーザーが 1 つのアドレスを持ち、逆に 1 つのアドレスが 1 人のユーザーに属していることを意味します。

現在、構成によって表現されるこの依存関係をモジュール化することは非常に困難です。

プロジェクトが大きくなったときと同様に、maven のマルチモジュール依存関係を使用し、pojos/ドメイン オブジェクトを異なるモジュール/プロジェクトに分割したいと考えています。

しかし、これは循環依存を引き起こし、同様にすべてのクラスが相互に関連しています。

そして、それらを休止状態で使用しているため、厳密に相互に合成する必要があります。

これらを独立した 1. ユーザー モジュール 2. アドレス モジュールに分割できる任意の提案

必要なものだけを使用できるようにします。

テンプレート/インターフェースの使用を提案するいくつかの投稿を読みましたが、舞台裏で休止状態で機能するとは思えません。

4

1 に答える 1

0

さて、依存関係を双方向ではなく、可能な限り一方向にするという答えを見つけました。

上記の場合のように -

ユーザーのアドレスを表示するには、ユーザーからアドレスにアクセスする必要がありますが、アドレスからユーザーを取得する必要があるビジネス シナリオはほとんどありません。

つまり、Address 内にユーザー オブジェクトを保持する代わりに、user.id を整数として保持するアドレス pogo を保持します。

Address {
    User user
    ...
    ....

}


Adress {
    Integer userid
    ....
    ....
}

ユーザーモジュールはアドレスに依存するようになりましたが、アドレスはユーザーに依存しません。

于 2013-07-30T05:13:56.477 に答える