У меня есть фабричный класс, DocumentLoaderFactory
, который просто возвращает экземпляр, который реализует интерфейс, IDocumentLoader
.Какое пространство имен принадлежит фабричному классу?
Все реализации находится в следующем пространстве имен
Skim.Ssms.AddIn.ActiveFileExplorer.Loader
Но что я интересно, какое пространство имен имеет DocumentLoaderFactory
принадлежат? Я поместил фабричный класс под пространство имен *.Loader
, но он используется из пользовательского элемента управления (ActiveFileWindow
) родительского пространства имен, Skim.Ssms.AddIn.ActiveFileExplorer
, как показано ниже.
Что было бы профессионалами & Против размещения заводского метода в пределах *.Loader
или его родительского пространства имен? Я хотел бы принять решение в зависимости от плюсы/минусы.
Вот макет моего проекта
@jrista: Я решил оставить заводский класс в пространстве имен Loader. Наличие фабричного метода в родительском пространстве имен, по-видимому, загрязняет структуру проекта. – Sung
Я думаю, что это место.:) Если вы когда-нибудь решите вытащить пространство имен Loader в свою собственную сборку, вы не столкнетесь с проблемами с отсутствующими на заводе ссылками или что-то в этом роде. – jrista