「Bill」というクラスがあります。Bill は、すべて POJO である "Electricity" 、 "Food" または "Customer" のいずれかです。したがって、次の 3 つのオブジェクトが含まれます。
public class Bill{
private Electricity el1;
private Food el2;
private Customer el3;
//setters and getters
public setElectricity(...)
...
}
請求書のリストは、いくつかの DTO を使用して入力されます。毎回、すべての要素をチェックして、請求書の種類を確認する必要があります。
私の目標は、この設計をリファクタリングすることです。
オブジェクトを 1 つ持ち、型に関するコンテンツを設定することもできますが、標準的なパターンはありますか?
要求されたタイプに基づいてクラスになることができるクラスのパターンはありますか? つまり、ビルは、人口の時間に関して、電気、食料、または顧客のいずれかになります。
注: 私のアプリケーションは、継承よりも合成を好みました。これは、「契約による設計」ベースのアプリケーションでもあります。
編集: Bill はそのオブジェクトの要約ではありません。食品は、色やレシートなどの食品の仕様にすぎないと仮定しましょう。法案は、ある時点で唯一のオブジェクトになることができます。