Save
Busy. Please wait.
Log in with Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't Know
Remaining cards (0)
Know
0:00
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

Principios solid

Principios solida

QuestionAnswer
¿Qué establece el Principio de Responsabilidad Única (SRP)? Una clase debe tener una única razón para cambiar, es decir, una única responsabilidad.
¿Qué problema genera violar SRP? Hace que una clase tenga múltiples razones para cambiar, lo que la hace difícil de mantener y modificar.
¿Cómo se aplica SRP en una clase de servicio en Java? Separando lógica de negocio en una clase y persistencia de datos en otra (ejemplo: UserService y UserRepository).
¿Qué patrón de diseño ayuda a cumplir SRP? Facade y Repository ayudan a dividir responsabilidades en capas separadas.
¿Qué significa que una clase debe estar "abierta para extensión pero cerrada para modificación"? Podemos agregar nuevas funcionalidades sin modificar el código existente.
¿Cuál es un mal ejemplo de OCP? Usar muchos if o switch para manejar diferentes casos en lugar de herencia o polimorfismo.
¿Cómo aplicar OCP en una aplicación de Java? Usando interfaces y clases abstractas, permitiendo agregar nuevas implementaciones sin modificar código existente.
¿Qué patrón de diseño promueve OCP? Strategy Pattern, ya que permite agregar nuevos comportamientos sin modificar el código base.
¿Qué dice el Principio de Sustitución de Liskov? Una subclase debe poder reemplazar a su clase base sin afectar la funcionalidad.
¿Cómo se detecta una violación de LSP? Cuando una subclase lanza excepciones inesperadas o cambia el comportamiento esperado de la clase base.
¿Cuál es un ejemplo de violación de LSP en Java? Si Square hereda de Rectangle y cambia cómo funcionan los métodos setWidth() y setHeight(), rompiendo la lógica esperada.
¿Cómo evitar violaciones de LSP en la programación orientada a objetos? Usar composición en lugar de herencia cuando una subclase no cumple todas las reglas de la clase base.
¿Qué problema evita el Principio de Segregación de Interfaces? Evita que una clase implemente métodos innecesarios que no usa.
¿Qué indica que una interfaz viola ISP? Cuando una clase implementa una interfaz y deja varios métodos vacíos o con throw new UnsupportedOperationException().
¿Cómo corregir una interfaz que viola ISP? Dividir una interfaz grande en varias interfaces más específicas.
¿Qué patrón de diseño ayuda a aplicar ISP? Adapter Pattern, ya que permite crear adaptadores para diferentes interfaces sin sobrecargar una única clase.
¿Qué establece el Principio de Inversión de Dependencias (DIP)? Los módulos de alto nivel no deben depender de módulos de bajo nivel, sino de abstracciones.
¿Cómo se evita la violación del DIP en Java? Usando interfaces en lugar de dependencias concretas en clases.
¿Qué técnica en Java promueve DIP? Inyección de dependencias (DI), utilizada en frameworks como Spring.
¿Cuál es un ejemplo de violación del DIP? Cuando una clase depende directamente de una implementación concreta en lugar de una interfaz (ejemplo: UserService depende de MySQLDatabase en lugar de Database).
¿Qué establece el Principio de Responsabilidad Única (SRP)? Cada clase debe tener una única razón para cambiar, es decir, una única responsabilidad.
¿Cuál es un problema común si se viola SRP? Una clase con muchas responsabilidades se vuelve difícil de mantener y modificar.
¿Qué significa que una clase debe estar "abierta para extensión pero cerrada para modificación"? Podemos agregar nuevas funcionalidades sin modificar el código existente.
¿Cómo se aplica OCP en Java? Usando polimorfismo e interfaces en lugar de condicionales para manejar nuevos casos.
¿Qué dice el Principio de Sustitución de Liskov? Una subclase debe poder reemplazar a su clase base sin romper el código.
¿Qué problema indica que se está violando LSP? Cuando un método en una subclase lanza excepciones inesperadas o cambia el comportamiento esperado.
¿Qué problema evita el Principio de Segregación de Interfaces? Evita que una clase implemente métodos que no necesita, promoviendo interfaces específicas.
¿Cómo aplicar ISP correctamente? Dividir interfaces grandes en múltiples interfaces pequeñas y especializadas.
¿Cómo se aplica el Principio de Inversión de Dependencias? Haciendo que las clases dependan de interfaces o abstracciones, no de implementaciones concretas.
¿Qué técnica en Java promueve DIP? Inyección de dependencias (DI), usada en frameworks como Spring.
Created by: danieblaa
Popular Engineering sets

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!
"Know" box contains:
Time elapsed:
Retries:
restart all cards