模組間鬆耦合仍需合作,DI 容器扮演橋梁:創建組件時自動注入依賴,避免直接引用。優點:
為相容多種容器,Prism 定義 IContainerFacade,僅暴露 Resolve、TryResolve。預設使用 Unity Container(支援建構子/屬性/方法注入),並以 UnityContainerAdapter 適配 TryResolve。
容器解析基於反射,頻繁創建大量實例或深層依賴嵌套會影響效能。無依賴、無被依賴的組件不宜放入容器。
ContainerControlledLifetimeManager)IContainerFacade 僅提供解析,缺乏註冊功能。大多數情況建議用 IUnityContainer,除非:
引用 Martin Fowler 觀點: