2013-10-26 55 views
0

我在某處認爲開發人員應該始終在開發接口,然後實現該接口。我只是想學習這些生成器模式,我想..但這裏是我的使用情況......瞭解java中的設計模式

我有一箇中央級的...再說ProcessFile

現在,我寫兩種格式它可以過程中,一個csv另一個json。

如何設計這些類。

我猜測這將是東西liek這樣的:

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

看起來不錯,但如果應用程序結構是不變的(不動態),我真的建議你不要遵循任何特定的模式。 – 2013-10-26 19:32:16

回答

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 

    } 
} 
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 
    } 

}