首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的Java项目的清洁架构实践

我的Java项目的清洁架构实践
EN

Stack Overflow用户
提问于 2016-01-19 09:24:48
回答 2查看 115关注 0票数 0

如果您有任何想法,我想问一下,让我的Java项目的架构变得更干净。

代码语言:javascript
运行
复制
  abstract class rdfDataChecker {
    List<T> data;
    // all abstract methods to check data... more than 20 methods. They all use the list "data". 
    }

    // the idea of this interface is, that all the data loaders can just use feedable.feed(List<T>). (we inject this dataChecker to the data Loader).
    interface Feedable {
    void feed(List<T>);
    }

   //implementations in different java frameworks.
    class specificRdfDataChecker extends rdfDataChecker implements Feedable{
    // implement all the methods.
    }


   class DataLoader {
   private Feedable feedable;
   public DataLoader(Feedable feedable) { 
   this.feedable = feedable;
   }
   }

提前感谢您的建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-19 09:34:00

这种模式是一种常见且可接受的模式--甚至在Java库中也使用过。参见ArrayListextends AbstractListimplements 列表

票数 1
EN

Stack Overflow用户

发布于 2016-01-19 22:27:56

您可以尝试如下:

  1. 使用战略模式而不是模板法 --使用组合总是比继承更好。
  2. 您应该查看RdfDataChecker类并了解是否有可能将一些代码提取到不同的类中。
  3. 使列表数据私有-每个类都应该封装自己的字段。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34872913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档