2014-11-06 58 views
0

我正在處理一個屬性對象,我需要在幾個不同的類中使用它,同一時刻。我想我可以在它們之間傳遞它,但我覺得這可能會很快失去控制。解決我的問題的一個接口?在類之間處理對象

因爲在那裏我的屬性的屬性加載我有這樣的方法對象:

public void loadFile(String filepath) throws FileNotFoundException{ 

     if(!filepath.contains(".properties")){ 
      System.out.println("Not a properties file."); 
      return; 
     } 
     try{ 
      prop.load(new FileInputStream(filepath));    
     } catch(IOException e){ 
      throw new FileNotFoundException("File '" + filepath 
        + "' not found."); 
     } 

     setProperties(); 
     System.out.println(this.getFtpHost()); 
    } 

setProperties()我剛纔設置的一切,像ftpHost = prop.getProperty("ftp.host")。除了我設置的所有屬性的getter之外,所有這個類都用於創建對象。

我想如果解決方案是一個接口,有人可以解釋我怎麼把這些東西放到一個概念上?

+2

你有沒有想過使用工具類?像一個靜態類?這可能是另一種方法去做 – 2014-11-06 15:08:05

+0

同意Abdul - 'java.lang.System.getProperties()',這聽起來像是一個很好的模型。 – mazaneicha 2014-11-06 15:12:57

+0

介意給我30秒shpeal?這樣做的唯一原因是因爲該應用程序從一個可執行的jar運行,並且文件路徑作爲參數傳遞[0],然後我調用這個類來從該文件路徑中獲取信息。因此,一旦它在應用程序中的信息是靜態的,但它可能會有所不同,具體取決於您選擇導入哪個文件 – erp 2014-11-06 15:13:07

回答

0

我認爲Singleton模式是你應該使用的。

+1

歡迎來到Stackoverflow。請記住,SO不是具有對話主題的論壇,而是一個問答網站。正因如此,答案應該充分考慮並充實。如果您想爲OP案例提供一個Singleton模式,最好演示OP如何將這種模式合併到他們的場景中。 – 2014-11-06 15:23:47

+0

儘管缺乏幫助/指導。經過一番調查,我選擇了這條路線。所以你贏了我想:p – erp 2014-11-06 16:22:45

1

你可以做這樣的課,並把所有的屬性。

class PropertiesObject { 

    private PropertiesObject instance = null; 

    public static PropertiesObject instace() { 
     if(instance == null) { 
      loadInstance(); // this is done one time 
     } 
     return instance; 
    } 
}