3
我想用StructureMap的ObjectFactory來處理我的WCF服務使用我的類的實例化的多個參數。雖然我有限的經驗足以處理簡單的1:一個接口和實現它是一個單類之間的映射1,我已經打了其中一個構造函數接受相同接口的多個參數的障礙。StructureMap:混凝土類構造函數接受相同的接口類型
我想我可以在多個具體類,以通過爲每個映射名稱相同的接口聯繫在一起,但我怎麼告訴StructureMap什麼映射使用第一和第二構造函數的參數?
這就是我想要的ObjectFactory來處理我的類:
public interface IPolicy
{
bool IsValid(string s);
}
public class AlphaPolicy : IPolicy
{
public bool IsValid(string s) { return true; }
}
public class NumericPolicy : IPolicy
{
public bool IsValid(string s) { return true; }
}
(當然,MasterPolicy可能也實現:
public class MasterPolicy {
public MasterPolicy(IPolicy alfaPolicy, IPolicy numericPolicy)
{
AlphaPolicy = alphaPolicy;
NumericPolicy = numericPolicy;
}
public IPolicy AlphaPolicy {get; private set; }
public IPolicy NumericPolicy {get; private set; }
public bool IsValid(string s)
{
if (!AlphaPolicy.IsValid(s)) return false;
if (!NumericPolicy.IsValid(s)) return false;
return true;
}
}
的IPolicy接口由一個以上的類實現IPolicy接口)。
謝謝!這正是我需要更好地掌握StructureMap的必要條件。 –
使MAster Policy Class與Container緊密結合,你不這麼認爲嗎? – Kevorkian
@Kevorkian - 'MasterPolicy'具有在所有容器中沒有引用,所以我看不出它如何能有任何耦合到容器。容器將控制耦合到所有引導/組合的類。 – PHeiberg