0

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

我有一个中心班......说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??
}

实现这一点的最佳方法是什么?

4

2 回答 2

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
    }

}
于 2013-11-13T01:16:17.827 回答
0

实现这一点的最佳方法是什么?

我不会在接口名称中使用“自定义”一词。也许是 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

    }
}   
于 2013-11-09T23:16:31.330 回答