Quantcast
Channel: OKWAVE 閲覧数の多い質問(Java/253)【本日】
Viewing all articles
Browse latest Browse all 68675

誘導可能なコンポジションの循環参照について。

$
0
0
Javaの設計についての基本的な質問です。 企業を表すCompanyクラスのフィールドに、そこで働く従業員を表すEmployerクラスのSetを保持していたとします。 Employerクラスは自身の所属するCompanyを取得するためのメソッドgetCompany()を持っていたとします。 public class Company{   Set<Employer> employers; } public class Employer{   public Company getCompany(){   } } 実現したいのは「従業員から自身の所属する企業を知る」ということです。 このgetCompany()を実現するためにはEmployerのフィールドに所属するCompanyのインスタンスを保持することになると思います。 また、特にDIなどは考えないとすると、Employerクラスのインスタンス生成時等には所属するCompanyクラスのインスタンスを渡すなどの必要があります。 上記のようにすれば実現自体は可能なことはわかるのですが、循環参照のような形となり適切でないような気がします。 Company has employers. は正しいと思いますが、 Employer has a company. は何か違う気がします。 EmployerのコンストラクタにCompanyを渡して、生成したEmployerをそのCompanyにaddするのも不自然に感じます。 これらを実現するためにはどのような形が適切と言えるのでしょうか。 上記は最も正しい・美しい形といえるのでしょうか。 そもそも何か根本的なところが誤っていますでしょうか。 これはあくまで例ですが、回答いただくには情報が足りないのであればご指摘ください。 結果、 http://okwave.jp/qa/q2652715.html こちらの質問と全く同じになってしまいましたが、Javaでも同様でしょうか。

Viewing all articles
Browse latest Browse all 68675

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>