簡單的問題,我敢打賭一個不是那麼簡單的答案。流利的地圖程序集/實體在運行時
想象一個像Wordpress這樣的項目。 Wordpress的基礎非常好,開發人員使用小部件或插件來構建它。
現在,請考慮NHibernate,特別是Fluent Mappings。
把它們放在一起,你有一個偉大而穩定的「基礎」系統,但你如何加載從外部程序集呈現的映射?我意識到系統將不得不使用反射來加載組件,但是如何在首次運行時順利配置nHibernate,以便意識到從這些組件中加載了額外的實體?你如何參考他們?
我知道你可以在配置完成後在運行時添加Mappings,而且你必須重新創建SessionFactory。這就是爲什麼我想在運行時加載所有必需的實體。
我也知道這可以通過Dependancy Injection略微實現,但我不想走那條路,也不想隨身攜帶這種極端的包袱。
如果普通的舊nHiberante配置文件可以修改,然後在運行時引用,以反映新的實體我只能假設必須有一種方法可以流利地做到這一點。
此外,根據答案:您是否從基礎項目或數據訪問程序集進行配置?
感謝您的幫助。
「隨身攜帶的極度包袱」我可以問你指的是什麼極端的包袱嗎?也許我可以幫助你更好地理解IoC容器。 – 2012-02-29 20:08:09
我當然想更好地理解它們。大多數文檔最多都是稀疏的,專爲軟件大師設計,他們只是不回到基礎或忽略需要的中間代碼。我會很感激。我之前確實和Castle有過一個混亂,但是花了我兩天的時間纔將它啓動並運行,因爲這些文檔並不完整,只是發現我無法繼續使用Castle來完成我的預期項目。我確實得到了它的主旨,爲什麼它是巨大的有用的,但我擔心一些項目是過分的,但如果我更好地理解它,我會認爲不然。 – Anthony 2012-02-29 20:17:20