.NET

.NET Design Patterns

Singleton, Factory, Builder, Strategy, Decorator, Repository, Unit of Work, SOLID

24 preguntas de entrevista·
Senior
1

¿Cuál es el principal problema del patrón Singleton en .NET moderno con Dependency Injection?

Respuesta

El patrón Singleton clásico (instancia estática) entra en conflicto con la inyección de dependencias porque genera un acoplamiento fuerte y dificulta las pruebas. En .NET moderno, conviene usar el lifetime de servicio 'Singleton' mediante DI (services.AddSingleton), que ofrece la misma garantía de instancia única a la vez que permite la inyección, el mocking y la testabilidad. El Singleton estático elude el contenedor de DI y crea dependencias ocultas.

2

En el patrón Factory Method, ¿cuál es la diferencia entre Factory Method y Abstract Factory en .NET?

Respuesta

Factory Method define un método virtual para crear un solo tipo de objeto (p. ej., CreateLogger), permitiendo que las subclases decidan qué clase concreta instanciar. Abstract Factory define una interface para crear familias de objetos relacionados (p. ej., IUIFactory con CreateButton, CreateTextBox), permitiendo crear varios productos coherentes en conjunto. Factory Method se centra en un solo producto con polimorfismo, mientras que Abstract Factory gestiona varios productos de una misma familia.

3

¿Cuál es la principal ventaja del patrón Builder en .NET para crear objetos complejos con muchos parámetros opcionales?

Respuesta

El patrón Builder evita los constructores telescópicos (múltiples overloads con distintas combinaciones de parámetros) al proporcionar una interface fluida para construir el objeto paso a paso. Permite crear objetos complejos con parámetros opcionales de forma legible y mantenible, a diferencia de los constructores con más de 10 parámetros. En C# moderno, las init properties y los records pueden reemplazar a Builder en casos simples, pero Builder sigue siendo útil para validaciones complejas o construcciones de varios pasos.

4

¿Qué es el principio de Single Responsibility (SRP) en SOLID y cómo aplicarlo en .NET?

5

¿Qué es el principio Open/Closed (OCP) en SOLID y cómo implementarlo con interfaces en .NET?

+21 preguntas de entrevista

Domina .NET para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis