現在、デザインパターンとその用途について読んでいます。現在のコードを再因子化するために使用するデザインパターンを見つけようとしています。論理に基づいて異なるソースからデータをロードするためのデザインパターンアドバイス
問題:一つの大きなJavaBeanのに特定の順序で複数の異なるソースから
データをロードします。データは、いくつかの単純な初期基準に基づいてロードされます。最初のソースから返されたデータは、次のソースの基準を作成します。
特定のデータソースからデータが返されない可能性があります。これは、JavaBeanへのロード・プロセスを停止しないかもしれませんが、いくつかのロジックに基づいて、ロード・プロセスは、照会するのに十分な基準がないため、特定のデータ・ソースをスキップすることがあります。
現在のソリューション:
BigJavaBean Class
各Loaderクラスは、それぞれのDAOへ
クエリがBigJavaBean
の属性から構築されている各ソースのDAOにアクセスするためのメソッドが含まれています各ローダークラスには、その "ロードされた"またはそうではない
LoaderClassDataBase for BigJavaBean
LoaderClassFlatFiles for BigJavaBean
LoaderClassXmlFiles for BigJavaBean
LoaderClassWebService for BigJavaBean
... and so on
MainLogicClass
BigJavaBean bigJavaBean = new BigJavaBean();
populateBigBeanMethod() {
loaderClassDataBase(bigJavaBean);
if (loaderClassDataBase.isLoaded()) {
loaderClassFlatFiles(bigJavaBean);
if (loaderClassFlateFile.isLoaded() {
loaderClassXmlFiles(bigJavaBean);
}
}
... more if statements
}
ありがとう。
イムつもりですが、インターフェイスがデザインパターンではありません、...インタフェース –
@Jakobボウヤーを言います。 –
私は 'Builderパターン'を 'Factory Pattern'(必要ならば)で束ねることを提案します。 –