Principios SOLID desmitificados — (I)

Principio de segregación de interfaz

Las interfaces no deben obligar a las clases a implementar una funcionalidad que no admiten, lo que significa que las interfaces más grandes deben dividirse en otras más pequeñas para ofrecer soporte.

Ejemplo de escenario

Usemos el mismo escenario con la clase AreaCalculator y agréguele una nueva funcionalidad. Esta vez, al usuario le gustaría la suma del volumen de formas como Cubo, Cuboide, etc.

Mal escrito

Cualquier forma que cree debe implementar el método de volumen , pero sabe que los cuadrados son formas planas y que no tienen volúmenes, por lo que esta interfaz obligaría a la clase Square a implementar un método que no tiene uso.

Esto viola el Principio de Segregación de Interfaz.

Bien escrito

Para remediar esta violación, debemos crear una nueva interfaz llamada IShape3D para manejar formas que tienen un volumen y mantener la interfaz IShape tal como es para manejar formas 2D.

Beneficios principales

  1. Alta cohesión — mejor comprensibilidad, solidez.
  2. Bajo acoplamiento: mejor mantenibilidad, alta resistencia a los cambios.
  3. Las clases no están obligadas a implementar interfaces que no utilizan.

Suggested posts

Mis recursos de codificación más utilizados

Mis recursos de codificación más utilizados

Esta semana, recibí un correo electrónico de un miembro de la lista de correo electrónico diaria. Querían saber: ¿Qué recursos visita diariamente, semanalmente y mensualmente? ¡Gran pregunta! Estoy feliz de intentar compartir algunas ideas sobre mi flujo de trabajo y los principales recursos que uso.

Caja de herramientas de terminal hipermoderno

Caja de herramientas de terminal hipermoderno

Las herramientas de terminal, shell y línea de comandos establecen el estándar en 2023. Todos los desarrolladores usan terminales; para algunos, todo su flujo de trabajo es la terminal Esta publicación presenta Hypermodern Terminal Toolbox: herramientas de terminal, shell y línea de comandos que establecen el estándar en 2023 Kitty como emulador de terminal Kitty es un emulador de terminal: es una alternativa a la terminal GNOME , Alacritty o la Terminal de Windows.

Related posts

3 formas comprobadas de mejorar su habilidad de escritura

Los beneficios de escribir y estrategias para ayudarte a hacerlo

3 formas comprobadas de mejorar su habilidad de escritura

En 2022, con el lanzamiento de GPT-3, la habilidad de escritura parece perder importancia. Con IA, las personas con mala escritura también pueden generar personal de calidad.

La actuación en solitario de la chica pelirroja

Por encargo de Hayden, Katie se graba masturbándose.

La actuación en solitario de la chica pelirroja

Era pasada la medianoche cuando Hayden llevó a Katie de regreso a su residencia universitaria después de su velada juntos. Tenía una clase temprano en la mañana y no tenía otra muda de ropa después de haberse quedado con él la noche anterior.

La semana de aprendizaje en el trabajo es más importante de lo que piensas

La semana de aprendizaje en el trabajo es más importante de lo que piensas

A menudo nos encontramos luchando para implementar lo que sabemos que es bueno para nosotros. Desde decirle a un ser querido que lo amamos hasta recordar hablar como un pirata, siempre habrá quienes digan que no hace falta un día, una semana o un mes de eventos porque ya están haciendo esas cosas.

Financiamiento de la eliminación de carbono en el año fiscal 24

El desglose de las solicitudes de asignaciones de Carbon180 a través de vías

Financiamiento de la eliminación de carbono en el año fiscal 24

Por Alyson Lee, asesora de gestión de asuntos gubernamentales El proceso de asignaciones anuales del gobierno federal es fundamental para nuestros esfuerzos por financiar la eliminación de dióxido de carbono (CDR). Cada año, Carbon180 envía solicitudes a varias oficinas del Congreso para ayudar a guiar hacia dónde fluirán los dólares del próximo año.