SOLID y ORMs Flashcards

1
Q

Explicar que es SOLID

A

S ingle responsibility principle
O pen/Closed principle
L iskov substitution principle
I nterface segregation principle
D ependency inversion principle

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

A que se refiere con Single responsability?

A

Cada clase debe tener una finalidad concreta y única, de modo que no podamos añadir métodos que no correspondan con la clase creada.
Esto ayuda a mantener un código ordenado.

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

A que se refiere con Open/Closed principle?

A

El principio indica que las entidades que creamos deben estar abiertas para su extension y cerradas para su modificacion. Necesito clases que se puedan extender sin necesidad de modificar el codigo fuente (encapsulamiento).
- Para que el sistema crezca por la herencia > usamos interfaces

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

Explicar el principio de Liskov substitution.

A

El principio indica que los objetos que provienen de una clase padre pueden sustituir al padre sin que esto altere el funcionamiento del sistema.

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

Que es la interfaz segregation?

A

Cuando se definen interfaces deben tener una finalidad concreta, es mejor tener varias interfaces con pocos métodos que solo una interface con muchos. Parecido al Single Responsability pero con interfaces.

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

Explicar dependency inversion principle

A

El objetivo de este principio es conseguir desacoplar las clases por medio de abstracciones para conseguir que una clase interactúe con otras clases sin que las conozca directamente. Patrones como inyeccion de dependencias o service locator permiten invertir el control.

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

Que son los ORMs

A

Herramienta de mapeo de objetos para trabajar con base de datos en los programas orientados a objetos.
Hibernate (java), Eloquent (de arabel), typeORM (javaScript), etc

Al momento de crear una clase, utilizando ciertas definiciones, se determina la persistencia y generar automaticamente la tabla en la base (en vez de hacer queries)
No funciona muy bien con queries complejas.

Ventajas
Facilidad y velocidad de uso
Abstracción de la base de datos usada.
Seguridad de la capa de acceso a datos contra ataques.

Desventajas
En entornos con gran carga poner una capa más en el proceso puede disminuir el rendimiento.
Aprender el nuevo lenguaje del ORM (no esta tan complejo este aspecto).

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