Veo mucho este término en Internet (de hecho, tipearlo en google arroja muchos resultados).¿Cuál es la definición de un detalle de implementación?
¿Cuál es la definición exacta de un "detalle de implementación"?
Veo mucho este término en Internet (de hecho, tipearlo en google arroja muchos resultados).¿Cuál es la definición de un detalle de implementación?
¿Cuál es la definición exacta de un "detalle de implementación"?
Es un comportamiento producido por código que puede ser invocado por el código de consumo, aunque ese comportamiento no está especificado por la especificación en la que se escribe el código. Por lo tanto, otras implementaciones de la misma especificación pueden no exhibir el mismo comportamiento y romperán ese código consumidor. Es por eso que es malo confiar en ellos.
Por ejemplo, si tuviera que escribir un código en una interfaz de lista que especificaba una ordenación de matriz pero no el algoritmo que utilizaba, y necesitaba el método de ordenamiento stable, y una versión de su código se utilizaba con una Algoritmo de ordenamiento no estable, entonces su código se romperá.
Un "detalle de implementación" es una decisión que se deja de ser hecha por los desarrolladores, y no se especifica un nivel anterior (como un documento de requerimientos o, dependiendo del contexto, un documento arquitectónico.)
No conozco la definición formal exacta del término "detalle de implementación", generalmente se refiere a la implementación concreta de una determinada especificación.
Tome un List
por ejemplo.
Una especificación de List
puede decir que "es capaz de mantener múltiples valores con duplicados sin perder el orden".
De lo anterior, no se menciona qué tipo de estructura de datos de respaldo se utiliza para el List
- por lo que sabemos, puede ser una matriz o una lista vinculada. Eso es realmente un detalle de implementación que realmente queda en manos del implementador del List
.
Esto es lo que pensé, algo definido solo en el nivel de implementación, no en las etapas de diseño/planificación. – dotnetdev