2015-09-04 60 views
-3

我正在創建一個由兩種類型的作業管理器組成的應用程序。我有以下接口:我應該使用哪種體系結構?

public interface IJobManager { 
public void add(Job job); 
public void delete(Job job); 
} 

有了這個接口,我想創建兩種類型的經理人 - 一個添加和讀取文件和一個它保存到數據庫中的信息。

public interface ITransactionJobManager extends IJobManager { 
//some additional functionallity 
} 

public interface IFileJobManager extends IJobManager { 
//some different functionallity 
} 

所以我的問題是我應該如何進行實施的架構,如果我的應用程序讀取例如環境變量(或東西從.property文件),並創建要麼TransactionJobManagerFileJobManager的單個實例。

+1

你有什麼不同之處是答案?爲您的應用程序完成代碼,可能的編程結構摘要,可能的類名稱,邏輯連接和調用?你的問題是廣泛的,不清楚的和以意見爲基礎的回答 – SomeJavaGuy

+0

我期待的事情就像一個小丑,而不是代碼。更像邏輯連接 –

回答

0

ITransactionJobManagerIFileJobManager應該是abstract類,而不是接口。這樣,您可以定義他們的功能,並創建它們的子類,如果您需要專門做更多的工作。

1

一個可能的解決方案是創建一個JobManagerFactory取決於配置所需類型作業管理器的創建:

public class JobManagerFactory { 

    public IJobManager createJobManager() { 
     // Create the appropriate type of job manager according to the configuration 
     return ...; 
    } 
} 

參見:Factory method pattern