En ingeniería de software , un marcador de diseño es una técnica para documentar las opciones de diseño en el código fuente utilizando el patrón de interfaz de marcador . Las interfaces de marcador se han limitado tradicionalmente a aquellas interfaces destinadas a la verificación explícita en tiempo de ejecución (normalmente a través de instanceof ). Un marcador de diseño es una interfaz de marcador que se utiliza para documentar una elección de diseño. En los programas Java , la elección del diseño se documenta en la documentación Javadoc de la interfaz del marcador .
Muchas decisiones tomadas en el momento del diseño del software no se pueden expresar directamente en los lenguajes de implementación actuales como C # y Java. Estas opciones de diseño (conocidas por nombres como Design Pattern , Design Contract , Refactoring , Effective Programming Idioms , Blueprints , etc.) deben implementarse a través de convenciones de programación y nomenclatura , porque van más allá de la funcionalidad incorporada de los lenguajes de programación de producción. Las consecuencias de esta limitación conspiran con el tiempo para erosionar las inversiones en diseño, así como para promover una falsa segregación entre las mentalidades del diseñador y del implementador.
Dos propuestas independientes reconocen estos problemas y ofrecen las mismas estrategias básicas para abordarlos. Hasta ahora, el movimiento de programación explícita en ciernes se ha relacionado con el uso de una herramienta de investigación experimental de Java llamada ELIDE. La técnica Design Markers requiere solo herramientas estándar similares a Javadoc para obtener muchos de los beneficios de la programación explícita .