DISENO/ARQUITECTURA Flashcards

(25 cards)

1
Q

¿Qué expresa el principio S de SOLID?

A

Single Responsibility — una clase/componente debe tener una sola razón de cambio.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Principio O de SOLID

A

Open/Closed — el código debe estar abierto a extensión pero cerrado a modificación.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Principio L de SOLID

A

Liskov Substitution — los subtipos deben poder sustituir a sus tipos base sin romper el programa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Principio I de SOLID

A

Interface Segregation — preferir muchas interfaces específicas a una grande y genérica.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Principio D de SOLID

A

Dependency Inversion — depender de abstracciones, no de clases concretas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Significado de DRY.

A

Don’t Repeat Yourself — evitar duplicación de conocimiento o lógica.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Significado de YAGNI.

A

You Aren’t Gonna Need It — no implementar funcionalidad hasta que sea necesaria.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cohesión alta y acoplamiento bajo: ¿por qué se buscan?

A

Alta cohesión facilita mantenimiento interno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Responsabilidades de Model, View y Controller en MVC.

A

Model — datos/reglas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Ventajas principales de microservicios.

A

Escalado independiente, despliegue autónomo, resiliencia por aislamiento, elección de tecnología por servicio.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Desventaja clave de microservicios.

A

Complejidad operativa: orquestación, comunicación en red, monitoreo distribuido.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Arquitectura cliente-servidor: flujo básico.

A

Cliente envía solicitudes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿En qué consiste un componente según diseño de software?

A

Unidad autónoma que encapsula funcionalidad, expone interfaces públicas y oculta detalles internos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Criterios para un buen diseño de componentes.

A

Responsabilidad clara, interfaz bien definida, encapsulación, independencia para pruebas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Patrones de diseño creacionales: menciona dos.

A

Factory Method, Builder, Abstract Factory, Singleton, Prototype (cualquiera de dos sirve).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Propósito del patrón Factory Method.

A

Permitir crear objetos sin acoplarse a su clase concreta.

17
Q

Patrón Observer sirve para…

A

Notificar a múltiples objetos cuando el sujeto cambia de estado (uno-a-muchos).

18
Q

Diferencia entre Adapter y Facade.

A

Adapter hace compatibles interfaces distintas

19
Q

Vista lógica vs vista física en arquitectura.

A

Lógica: organización del código (clases, paquetes)

20
Q

Qué muestra la vista de casos de uso.

A

Interacciones del sistema con actores externos y otros sistemas.

21
Q

¿Qué es el patrón Singleton y un riesgo de usarlo?

A

Garantiza una única instancia global

22
Q

Definición de antipatrones de diseño.

A

Soluciones aparentes que generan más problemas a largo plazo (ej., God Object).

23
Q

Trade-off principal de capas (Layered Architecture).

A

Claridad y separación vs potencial penalización de rendimiento por saltos de capas.

24
Q

Principio de inversión de dependencias aplicado a capas.

A

Dependencias deben ir desde capas de alto nivel a abstracciones, no a implementaciones de bajo nivel.

25
Beneficio de usar diagramas de componentes UML.
Visualizar dependencias y contratos entre módulos para planificación y mantenimiento.