Tôi có một lớp nhà máy, DocumentLoaderFactory
, chỉ đơn giản trả về một cá thể triển khai giao diện, IDocumentLoader
.Không gian tên nào thuộc loại nhà máy thuộc về?
Tất cả thực hiện cư trú dưới namespace sau
Skim.Ssms.AddIn.ActiveFileExplorer.Loader
Nhưng những gì tôi đang tự hỏi là, mà không gian tên nào DocumentLoaderFactory
thuộc? Tôi đã đặt lớp nhà máy theo không gian tên *.Loader
bây giờ, nhưng nó đang được sử dụng từ điều khiển người dùng (ActiveFileWindow
) của không gian tên cha, Skim.Ssms.AddIn.ActiveFileExplorer
như được hiển thị bên dưới.
Điều gì sẽ được ưu tiên & điểm yếu của việc đặt phương thức nhà máy trong phạm vi *.Loader
hoặc không gian tên cha mẹ? Tôi muốn đưa ra quyết định tùy thuộc vào ưu/nhược điểm.
Dưới đây là cách bố trí của dự án của tôi
@jrista: Tôi đã quyết định rời khỏi lớp nhà máy trong * Không gian tên bộ nạp. Việc có phương thức factory trong namespace cha dường như gây ô nhiễm cấu trúc dự án. – Sung
Tôi nghĩ rằng đó là đúng nơi.:) Nếu bạn quyết định kéo không gian tên Loader vào trong assembly riêng của nó, bạn sẽ không gặp vấn đề với nhà máy thiếu tham chiếu hay bất cứ thứ gì tương tự. – jrista