私は現在、公開APIがたくさんあるサービスを作っています。また、応答オブジェクトと要求オブジェクトは重複しています。だから私は、リクエスト/レスポンスオブジェクトのpojo作成を一般化できる方法があると考えていました。 応答オブジェクトは、1つまたは2つの追加フィールドを持つ要求オブジェクトと同じ場合があります。一般的なフィールドを持つことができるpojosを書くための最良の方法
例を挙げておきます。
@Data
public class Request {
private A objA;
private B objB;
}
@Data
public class Response {
private A objA;
private B objB;
private C objC;
}
@Data
public class A {
private D objD;
}
@Data
public class B {
private String sB;
private E obje;
}
@Data
public class C {
private String sC;
}
Similary、D及びEは、同様のPOJOです。ことは、要求/応答オブジェクトには多くの類似点(オーバーラップするフィールド)があることです。
'Request'と' Response'によって拡張される共通クラスを作成します。すべての共通フィールドをこのクラスに追加し、 'protected'とマークしますか?私は複雑さがこの質問にどこにあるのか分かりません。 – CKing
'抽象クラス 'を利用してそこに共通のフィールドを配置します – Lino
問題は、共通の基底型を定義する必要があることを示していません。アプリケーションで使用される型とテンプレートメソッドパターンの必要性親クラスが必要です。多くのクラスが同じフィールドを共有しているからといって、継承によって束縛される必要があるわけではありません。私はむしろそれらを別々に保つだけであろう。 – tsolakp