我有一個c#工廠對象,它使用對象列表作爲源通過工廠方法創建對象。工廠對象因自身依賴性而導致stackoverflowexception
對象的列表中創建這樣的:我的應用程序訪問
public WidgetFactory()
{
widgetLibrary = new List<WidgetModel>();
//Add all widgets
widgetLibrary.Add(new ClientsWidget());
widgetLibrary.Add(new InstallationsWidget());
etc.
和各種零件此列表以不同的方式來獲得它需要的對象的類型。
但是我現在要求列表中的一個對象(即一個小部件)需要使用這個小部件工廠本身。顯然這會導致循環引用。
我該如何改變我的設計以適應這種需求?
第一個想法起作用了,我只需要在這個環境中使用工廠時多加小心。 –