可以說我有一個類將一個IFileLogger作爲構造函數參數。在類相關性上分配屬性
public MyClass : IClass
{
private IFileLogger Logger;
public MyClass(IFileLogger Logger)
{
this.Logger = Logger;
}
}
某處在該類調用Logger.Write("Data");
IFileLogger具有目錄路徑的屬性;
這需要設置,以便IFileLogger知道在哪裏寫文件。
這是如何設置的?
我的想法是獲得設置的類的屬性,然後在構造函數中有類似IFileLogger.DirectoryPath = this.DirectoryPath。
這似乎是錯誤的,因爲IClass需要擁有它的屬性,並且最終創建一個只在底層需要的屬性鏈。
你能幫助那些看不到樹木的人嗎?你也會寫測試和如何,以確定IFileLogger的DirectoryPath填充?
這將通過IOC容器 – Jon 2012-03-22 14:46:03
完成在這種情況下,FileLogger構造應在參數RepositoryPath,(並將其設置爲當然RepositoryPath屬性),你應該注入參數而你正在解決IFileLogger。 – user484189 2012-03-22 14:55:00
您使用哪種IOC框架? – user484189 2012-03-22 14:57:16