2014-11-03 47 views
1

我有一個MVC控制器根據傳遞的參數調用服務(GlobalService)來執行操作,GlobalService對其自己的存儲庫以及其他使用工廠。如果我想傳遞特定的配置信息,如連接字符串,以及一些用於圖片等的UI路徑,那麼創建IPlatform對象的最佳方法是什麼。將配置信息傳遞給服務工廠

MVC控制器----> Gloabl服務----> IPlatformFactory.GetPlatform( 「PLATFORM1」)---> PLATFORM1(串CONNSTRING,字符串文件路徑)

+0

誰(什麼對象)擁有這些信息? – 2014-11-03 19:29:29

+0

配置信息由MVC應用程序擁有 – user3700866 2014-11-03 19:30:13

+0

全局應用程序類? – 2014-11-03 19:41:52

回答

0

考慮添加參數Platform構造函數,像它在DbContext

public interface IPlatform 
{ 
    ... 
} 

public abstract class Platform : IPlatform 
{ 
    public Platform(string connString , string filePath) 
    { 
     ... 
    } 
} 


public sealed class Platform1 : Platform 
{ 
    public Platform1(string connString, string filePath) : base(connString, filePath) {} 
} 


public interface IPlatformFactory 
{ 
    IPlatform GetPlatform(string code, string connString, string filePath); 
} 


public class PlatformFactory : IPlatformFactory 
{ 

    public IPlatform GetPlatform(string code, string connString, string filePath) 
    { 
     ... 
     return new Platform1(connString, filePath); 
    } 
}