1
respuesta

[Duda] Crear Clase CategoriasDao por la responsabilidad única

En la segunda clase en el proyecto se está separando la responsabilidad de la lógica con el acceso a datos y para ello se está creando una clase SubastasDao donde va el acceso a datos para el modelo Subasta, pero también se está usando al modelo Categoría en esa misma clase DAO en el método BuscarTodasCategorias(). ¿Se debe crear otra clase por ejemplo CategoriasDao para el acceso a datos del modelo Categoria? Así cada modelo tiene su DAO y creo sería un código más mantenible. Esta bueno el curso y gracias por la respuesta.

1 respuesta

Hola Juan,

Tu pregunta es muy pertinente y demuestra que estás comprendiendo bien los principios de SOLID y la importancia de la responsabilidad única.

En el contexto del curso, se creó la clase SubastasDAO para manejar las operaciones de acceso a datos para el modelo de Subasta. Sin embargo, también se incluyó el método BuscarTodasCategorias() en esta misma clase, lo que podría ser una violación del principio de responsabilidad única si consideramos que cada modelo debería tener su propio DAO.

Crear una clase CategoriasDAO para manejar las operaciones de acceso a datos para el modelo de Categoría sería una buena práctica. Esto permitiría separar las responsabilidades y hacer que el código sea más fácil de mantener y entender.

Por ejemplo, podrías tener algo como esto:

public class CategoriasDAO
{
    private readonly AppContext _context;

    public CategoriasDAO(AppContext context)
    {
        _context = context;
    }

    public List<Categoria> BuscarTodasCategorias()
    {
        return _context.Categorias.ToList();
    }

    // Aquí puedes agregar más métodos relacionados con el acceso a datos de Categoría
}

De esta manera, cada DAO se encarga de las operaciones de acceso a datos para un modelo específico, siguiendo el principio de responsabilidad única.

Espero haber aclarado tu duda. Sigue con ese espíritu crítico y analítico, ¡es muy valioso en el mundo de la programación!

Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios.