小编Abr*_*ris的帖子

基于逻辑从不同来源加载数据的设计模式建议

我目前正在阅读有关设计模式及其用途的内容。我正在尝试找到一种设计模式来重构我当前的代码。

问题:

将来自多个不同源的数据按一定顺序加载到一个大的 JavaBean 中。数据是根据一些简单的初始标准加载的。从第一个源返回的数据将为下一个源建立标准。

某些数据源可能不会返回任何数据。这可能不会停止 JavaBean 的加载过程,但根据某些逻辑,加载过程可能会跳过某些数据源,因为它没有足够的条件来查询。

目前的解决方案:

BigJavaBean Class
Run Code Online (Sandbox Code Playgroud)

每个加载器类都包含访问每个源 DAO 的方法

对每个 DAO 的查询都是根据 BigJavaBean 中的属性构建的

每个加载器类中都有逻辑来确定其是否“已加载”

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


}
Run Code Online (Sandbox Code Playgroud)

谢谢。

java design-patterns

5
推荐指数
1
解决办法
2862
查看次数

标签 统计

design-patterns ×1

java ×1