2009-11-22 26 views

Respuesta

21

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á.

8

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.)

+3

Esto es lo que pensé, algo definido solo en el nivel de implementación, no en las etapas de diseño/planificación. – dotnetdev

16

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.

Cuestiones relacionadas