我在某处读到开发人员应该始终开发接口然后实现该接口。我只是想学习这些构建器模式,我猜......但这是我的用例...
我有一个中心班......说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??
}
实现这个的最好方法是什么?
答案 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
}
}