"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Reflexión sobre los artículos y el libro.

Reflexión sobre los artículos y el libro.

Publicado el 2024-08-20
Navegar:549

Reflexão sobre itens e do livro

Abordemos la aparente contradicción entre los puntos 22 y 41 del libro:

Artículo 22: “Si no desea definir un tipo, no utilice una interfaz”.

Este elemento sugiere que no debes usar interfaces para cosas que no representan un tipo real o una funcionalidad concreta. Por ejemplo, utilizar una interfaz sólo para almacenar constantes no es una buena práctica. Las interfaces deben usarse para definir contratos o comportamientos que las clases deben implementar.

Ítem 41: “Si realmente quieres definir un tipo, usa una interfaz”.

Este elemento habla sobre el uso de interfaces, específicamente interfaces de marcador, para definir un tipo que categorice o marque clases de una manera que pueda verificarse en tiempo de compilación. Una interfaz de marcador no define métodos, pero aún así define un tipo lógico que puede usarse para verificar el comportamiento de las clases en tiempo de compilación.

Conciliación de los elementos

La clave para comprender ambos elementos es la diferencia entre definir un tipo útil y utilizar una interfaz de manera adecuada.

  • El artículo 22 dice que se debe evitar el uso de interfaces para cosas que no tienen una funcionalidad o comportamiento específico asociado a ellas. La idea es que las interfaces deberían usarse para definir contratos claros que las clases deben seguir.

  • El artículo 41 recomienda usar interfaces (incluidos marcadores) cuando desee definir un tipo que categorice o marque clases para un propósito específico y que pueda usarse para la verificación en tiempo de compilación.

Aplicación práctica
Ítem 22: Evite esto:

public interface Constants {
    String SOME_CONSTANT = "value";
    int ANOTHER_CONSTANT = 42;
}

Esto no define un tipo o comportamiento; es solo un contenedor de constantes, lo cual es un mal uso de una interfaz.

Ítem 41: Usar interfaces para marcar un tipo:

public interface PhysicalProduct {
    // Interface marcadora sem métodos
}

public class Book implements PhysicalProduct {
    // Implementação da classe que indica que é um produto físico
}

Aquí, la interfaz PhysicalProduct define un tipo lógico que se puede verificar y utilizar para propósitos específicos, como el cálculo de envío, asegurando que solo se consideren productos físicos.

Conclusión
Ambos elementos se complementan entre sí al proporcionar orientación sobre cómo y cuándo utilizar las interfaces de forma adecuada. La premisa es que las interfaces deben usarse para definir tipos significativos y contratos claros, ya sea a través de métodos que definen el comportamiento o como marcadores que categorizan clases de una manera lógica y útil.

Declaración de liberación Este artículo se reproduce en: https://dev.to/giselecoder/reflexao-sobre-itens-22-e-41-do-livro-3hh5?1 Si hay alguna infracción, comuníquese con [email protected] para eliminar él
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3