比方說,我有DLL組件A,其中我以正確的方式實現了單例模式。讓它成爲Manager
類,他的Instance
靜態屬性返回唯一的實例。如果沒有直接引用,單例類會被複制嗎?
那麼,讓我們說,我已經創建的DLL組件乙其中類Controller
聲明,該程序集引用到一個和Controller
類使用Manager
,沒關係。
最後,有一個控制檯應用程序Ç其中我到組件乙和類Controller
的幾個實例的唯一引用。
現在,問題。這些實例是否會在它們之間共享Manager
類?
比方說,我有DLL組件A,其中我以正確的方式實現了單例模式。讓它成爲Manager
類,他的Instance
靜態屬性返回唯一的實例。如果沒有直接引用,單例類會被複制嗎?
那麼,讓我們說,我已經創建的DLL組件乙其中類Controller
聲明,該程序集引用到一個和Controller
類使用Manager
,沒關係。
最後,有一個控制檯應用程序Ç其中我到組件乙和類Controller
的幾個實例的唯一引用。
現在,問題。這些實例是否會在它們之間共享Manager
類?
現在,這個問題。這些實例是否會在它們之間共享Manager類?
是的,他們將共享相同的實例,因爲所有這些程序集都在一個AppDomain中。如果您創建另一個應用程序D(網站,控制檯,桌面,...),您將參考其他程序集並嘗試訪問Manager.Instance
,將使用不同的實例。
答:是的,因爲Manager
是正確實施的單身人士。