Tôi đang sử dụng Mẫu Kho lưu trữ (ví dụ như các ví dụ trong trang http://www.asp.net/mvc) trong ứng dụng ASP.NET MVC. Tôi có hai kho, một cái gọi là CategoryRepository, còn gọi là ProductRepository. Tôi cũng sử dụng hai dịch vụ, CategoryService và ProductService để xác thực và gọi các phương thức kho lưu trữ. Tôi cần một danh sách các loại trong ProductService, một phương thức trả về một loại đã được triển khai trong CategoryRepository. Câu hỏi của tôi là, đó là cách chính xác để gọi phương thức ListCategories tồn tại trong CategoryRepository từ ProductService? Tôi không muốn triển khai phương thức ListCategories khác trong ProductRepository (triết lý DRY). Cảm ơn.Phương thức gọi giữa các kho lưu trữ - Mẫu Kho lưu trữ
7
A
Trả lời
4
Tôi khuyên bạn nên cuộn các kho lưu trữ tương tự vào một dịch vụ. Vì vậy, nếu bạn đang tạo ra một ứng dụng thương mại điện tử cuộn lên ProductRepository, CategoryRepository vv vào một cái gì đó như CatalogService và có nó lưu trữ tất cả các kho có liên quan.
3
Một tùy chọn là cung cấp lớp ProductService một thể hiện của CategoryService.
public class ProductService {
ICategoryService _categoryService = null;
public ProductService(ICategoryService categoryService) {
_categoryService = categoryService;
}
}
Sau đó, bạn có thể truy cập danh sách danh mục từ ProductService mà không phải thiết lập khớp nối trực tiếp với bất kỳ triển khai CategoryService cụ thể nào.
Các vấn đề liên quan
- 1. Gọi một Kho lưu trữ từ Kho lưu trữ
- 2. Lưu trữ kho lưu trữ OSGI OBR?
- 3. Mẫu Kho lưu trữ trong C#
- 4. Tải Subrecords trong Mẫu Kho lưu trữ
- 5. Giao dịch trong Mẫu Kho lưu trữ
- 6. Kho lưu trữ vẫn là Kho lưu trữ không có Đơn vị công việc?
- 7. Một kho lưu trữ có nên gọi một kho lưu trữ khác không? Hoặc một kho lưu trữ nên gọi một lớp dịch vụ?
- 8. Sao lưu kho lưu trữ của Mercurial tại địa phương
- 9. git kho lưu trữ nhân bản kho
- 10. Kho lưu trữ Android Intents
- 11. Git, xóa kho lưu trữ
- 12. Mẫu lưu trữ với các thủ tục được lưu trữ
- 13. Kho lưu trữ Ảnh chụp Maven và Kho lưu trữ Phát hành
- 14. Ghi đè kho lưu trữ git từ xa với kho lưu trữ của tôi
- 15. Các kho lưu trữ git lồng nhau?
- 16. Các kho lưu trữ DDD là đơn?
- 17. Kho lưu trữ/thư mục lưu trữ của Eclipse
- 18. Sử dụng kho lưu trữ Git cục bộ với kho lưu trữ Subversion chính
- 19. Thêm thay đổi từ một kho lưu trữ Mercurial sang một kho lưu trữ Mercurial khác
- 20. Dịch vụ RIA và mẫu Kho lưu trữ chung
- 21. Kho lưu trữ như mẫu với Node và mongoose
- 22. Mẫu Kho lưu trữ Chung với Mẫu UnitOfWork
- 23. chuyển đổi kho lưu trữ cục bộ maven thành kho lưu trữ từ xa
- 24. Kho lưu trữ Entity Framework 4?
- 25. Bzr: Tạo kho lưu trữ được chia sẻ từ kho lưu trữ độc lập hiện có
- 26. Kho lưu trữ XML; Lưu() hay không để Save()
- 27. Thiết lập mẫu kho lưu trữ trong MVC
- 28. Dữ liệu đặc biệt và mẫu kho lưu trữ
- 29. thêm một kho lưu trữ địa phương như một thư mục con của kho lưu trữ từ xa
- 30. Sự khác biệt giữa kho lưu trữ được đóng gói và kho lưu trữ đã phát nổ
+1. Nói chung điều này lá bạn với các dịch vụ được chia thành kinh doanh, không phải thực thể, dòng. –
Vậy điều gì xảy ra khi Dịch vụ Catalog sử dụng ProductRepo để cập nhật một sản phẩm và CategoryRepo để cập nhật một loại trong một phương thức dịch vụ? Điều đó có nghĩa là các thay đổi ProductRepo được thực hiện trong một giao dịch và các thay đổi CategoryRepo được thực hiện trong một giao dịch khác không? Tôi luôn nghĩ rằng các hoạt động repo được tách rời trừ khi bạn cho phép ProductRepo thay đổi các danh mục. Mọi người làm gì trong thế giới thực? – IanT8