Mam klasę fabryki, DocumentLoaderFactory
, która po prostu zwraca instancję implementującą interfejs, IDocumentLoader
.Do której przestrzeni nazw należy klasa fabryczna?
Wszystko realizacja polega na poniższej nazw
Skim.Ssms.AddIn.ActiveFileExplorer.Loader
Ale co ja zastanawiałem się, co nazw nie DocumentLoaderFactory
należeć? Na razie umieściłem klasę fabryczną w obszarze nazw *.Loader
, ale jest ona używana z poziomu kontroli użytkownika (ActiveFileWindow
) nadrzędnej przestrzeni nazw, Skim.Ssms.AddIn.ActiveFileExplorer
, jak pokazano poniżej.
Co by było zaletami & przeciwstawienia metody fabrycznej w obrębie *.Loader
lub jej nadrzędnej przestrzeni nazw? Chciałbym podjąć decyzję w zależności od plusów/minusów.
Oto układ mojego projektu
@jrista: Postanowiłem opuścić klasę fabryczną w przestrzeni * Loader. Posiadanie metody fabryki w nadrzędnej przestrzeni nazw zdaje się zanieczyszczać strukturę projektu. – Sung
Myślę, że to właściwe miejsce.:) Jeśli kiedykolwiek zdecydujesz się wyrzucić przestrzeń nazw Loader do swojego własnego zespołu, nie natrafisz na problemy z brakującymi referencjami fabrycznymi lub cokolwiek w tym stylu. – jrista