是否存在初始化通過DI容器創(chuàng)建的對(duì)象的模式?我正試圖讓Unitu來管理我的對(duì)象的創(chuàng)建,并且我希望有一些直到運(yùn)行時(shí)才知道的初始化參數(shù):目前,我唯一能想到的方法就是在接口上有一個(gè)Init方法。interface IMyIntf {
void Initialize(string runTimeParam);
string RunTimeParam { get; }}然后,為了使用它(在聯(lián)合中),我會(huì)這樣做:var IMyIntf = unityContainer.Resolve<IMyIntf>();IMyIntf.Initialize("somevalue");在這種情況下runTimeParamParam是根據(jù)用戶輸入在運(yùn)行時(shí)確定的.這里的瑣碎情況只是返回runTimeParam但在現(xiàn)實(shí)中,該參數(shù)將類似于文件名,初始化方法將對(duì)該文件執(zhí)行一些操作。這就產(chǎn)生了一些問題,即Initialize方法在接口上可用,可以多次調(diào)用。在實(shí)現(xiàn)中設(shè)置一個(gè)標(biāo)志并在重復(fù)調(diào)用時(shí)拋出異常Initialize看起來很笨重。在解析我的接口時(shí),我不想知道IMyIntf..不過,我想知道的是,這個(gè)接口需要特定的一次初始化參數(shù)。是否有某種方式對(duì)(屬性)進(jìn)行注釋?在創(chuàng)建對(duì)象時(shí),使用該信息并將這些信息傳遞給框架的接口?編輯:更多地描述了界面。
是否存在初始化通過DI容器創(chuàng)建的對(duì)象的模式?
墨色風(fēng)雨
2019-06-09 13:46:00