Estoy usando el patrón de repositorio (como los ejemplos en el sitio http://www.asp.net/mvc) en una aplicación ASP.NET MVC. Tengo dos repositorios, uno llamado CategoryRepository y otro llamado ProductRepository. También uso dos servicios, CategoryService y ProductService para validar y llamar a los métodos de repositorios. Necesito una lista de categorías en ProductService, un método que devuelve uno que ya está implementado en el CategoryRepository. Mi pregunta es, ¿cuál es la forma correcta de llamar al método ListCategories que existe en CategoryRepository desde ProductService? No quiero implementar otro método de Categorías de listas en el ProductRepository (filosofía DRY). Gracias.Métodos de llamada entre repositorios - Patrón de repositorio
7
A
Respuesta
4
Recomendaría hacer repositorios similares en un solo servicio. Por lo tanto, si está creando una aplicación de comercio electrónico, instale ProductRepository, CategoryRepository, etc. en algo así como CatalogService y haga que aloje todos los repositorios relacionados.
3
Una opción es proporcionar a la clase ProductService una instancia de CategoryService.
public class ProductService {
ICategoryService _categoryService = null;
public ProductService(ICategoryService categoryService) {
_categoryService = categoryService;
}
}
A continuación, puede acceder a las listas de categorías de la ProductService sin tener que establecer un acoplamiento directo a cualquier aplicación específica CategoryService.
Cuestiones relacionadas
- 1. Repositorio patrón - demasiados métodos
- 2. Patrón de repositorio Estandarización de métodos
- 3. Intentando simplificar nuestro patrón de repositorio
- 4. patrón Repositorio de Buenas Prácticas
- 5. Cargando subregionales en el patrón de repositorio
- 6. Patrón de repositorio - Escaparate MVC
- 7. Patrón de repositorio: almacenamiento en caché
- 8. Implementación del patrón de repositorio
- 9. Patrón de repositorio y propiedades de navegación
- 10. ¿Diferencia entre repositorio y servicio?
- 11. Patrón genérico de repositorio con UnitOfWork Patrón
- 12. Conciencia del repositorio DDD de otros repositorios
- 13. diferencia entre un repositorio y el patrón de fábrica
- 14. Patrón de repositorio con NHibernate?
- 15. Usando el patrón de repositorio para soportar múltiples proveedores
- 16. Patrón de repositorio en C#
- 17. Patrón de repositorio en F #
- 18. Encontrar diferencias entre dos repositorios git
- 19. Git pulling changes entre dos repositorios locales
- 20. Patrón de repositorio y herencia en .net
- 21. patrón Repositorio: Agregar elemento
- 22. Llamada a método ambigiuous entre los métodos de extensión
- 23. Transacciones en el patrón de repositorio
- 24. EF4, Lambda, patrón de repositorio y DTOs
- 25. Patrón de repositorio y tipos de devolución
- 26. Patrón de repositorio y marco de entidad
- 27. Cómo detectar conflictos entre dos repositorios git.
- 28. Datos ad hoc y patrón de repositorio
- 29. C# Patrón de repositorio: ¿un repositorio por subclase?
- 30. Interacción entre unidad de trabajo y patrones de repositorio
+1. En general, esto te deja con servicios que se dividen en negocios, no en entidades, líneas. –
Entonces, ¿qué sucede cuando el Servicio de catálogo usa el ProductRepo para actualizar un producto y el CategoryRepo para actualizar una categoría en un método de servicio? ¿Eso significa que los cambios de ProductRepo se realizan en una transacción y los cambios de CategoryRepo se realizan en otra transacción? Siempre pensé que las operaciones de reporto eran discretas a menos que permitiera que el ProductRepo también cambiara de categoría. ¿Qué hace la gente en el mundo real? – IanT8