14
我目前正在編寫我自己的學習目的MVC框架,並決定使用依賴注入容器來共享類之間的常用對象(例如數據庫實例)。我應該在MVC中傳遞依賴注入容器(DIC)作爲參數嗎?
我在我的引導文件中初始化了容器,並且在Application
類中有一個實例,在路由過程中傳遞容器實例是否是一個好習慣? (即將容器對象作爲參數傳遞給構造函數ControllerBase
)。另外,在我的ModelBase
的構造函數中接受容器作爲參數的好習慣?
你在做什麼號(在整個事情經過)被稱爲服務定位器,是一個反模式。 – PeeHaa 2015-02-11 17:50:59
容器不應該被傳遞,如果它完成,那麼它應該只是一個延遲加載的細節。爲了澄清,在測試MVC設置中涉及的任何類時,無論您是否在嘲笑,都不應該編寫與容器相關的任何內容。 – Ocramius 2015-02-11 17:52:26
我已經寫了一個有關使用全局變量的答案,它有許多與服務定位器相同的問題。雖然它不是你的問題的確切答案,它值得一讀,並肯定與你的問題相關http://stackoverflow.com/questions/11923272/use-global-variables-in-a-class/11923384#11923384 – PeeHaa 2015-02-11 18:01:59