了解java中的设计模式

时间:2013-10-26 18:47:55

标签: java

我在某处读到开发人员应该始终开发接口然后实现该接口。我只是想学习这些构建器模式,我猜......但这是我的用例...

我有一个中心班......说ProcessFile

现在,我正在编写两种可以处理的格式,一种是csv另一种json。

如何设计这些类。

我猜这将是谎言:

 public interface CustomFormat{
  //couple of signatures
}
public class csv implements CustomFormat{

}

public class json implements CustomFormat{
}
public class ProcessFiles{
//somehow uses that CustomFormat interface??
}

实现这个的最好方法是什么?

2 个答案:

答案 0 :(得分:1)

构建javaPlease42的答案。我会将ProcessFiles重命名为FileProcessor或类似的东西。一个好的经验法则是使用名词命名类,使用动词来描述名词可以做什么。下面是它的外观示例。

public class FileProcessor {

    public void process(CustomFormat file) {
        // pass in the interface, that way you can use any implementing class 
        // like csv or json
    }

}

答案 1 :(得分:0)

实现这个的最好方法是什么?

我不会在界面名称中使用Custom这个词。也许 FileFormat.java

public interface FileFormat {

    public void setFormat(int quantity);
}

<强> CSV.java

public class CSV implements FileFormat{

    @Override
    public void setFormat(int quantity) {
        // TODO Auto-generated method stub

    }
}

<强> JSON.java

public class JSON implements FileFormat{

    @Override
    public void setFormat(int quantity) {
        // TODO Auto-generated method stub

    }
}