Efecto de plataforma interior


El efecto de plataforma interna es la tendencia de los arquitectos de software a crear un sistema tan personalizable como para convertirse en una réplica, ya menudo una réplica pobre, de la plataforma de desarrollo de software que están utilizando. Esto es generalmente ineficiente y tales sistemas a menudo se consideran ejemplos de un antipatrón .

Los ejemplos son visibles en el software basado en complementos , como algunos editores de texto y navegadores web, que a menudo hacen que los desarrolladores creen complementos que recrean el software que normalmente se ejecutaría sobre el propio sistema operativo. El mecanismo adicional de Firefox se ha utilizado para desarrollar una serie de clientes FTP y exploradores de archivos , que replican efectivamente algunas de las funciones del sistema operativo , aunque en una plataforma más restringida.

En el mundo de las bases de datos , los desarrolladores a veces se sienten tentados a pasar por alto el RDBMS , por ejemplo, almacenando todo en una tabla grande con tres columnas etiquetadas como ID de entidad, clave y valor. Si bien este modelo entidad-atributo-valor permite al desarrollador romper con la estructura impuesta por una base de datos SQL , pierde todos los beneficios, [1] ya que todo el trabajo que el RDBMS podría realizar de manera eficiente se ve obligado a la aplicación en su lugar. Las consultas se vuelven mucho más complicadas, [2] los índices y el optimizador de consultas ya no pueden funcionar de manera efectiva, ylas restricciones de validez de los datos no se aplican. El rendimiento y la capacidad de mantenimiento pueden ser extremadamente deficientes.

Existe una tentación similar para XML , donde los desarrolladores a veces favorecen los nombres de elementos genéricos y usan atributos para almacenar información significativa. Por ejemplo, cada elemento puede llamarse item y tener atributos type y value . Esta práctica requiere uniones a través de múltiples atributos para extraer el significado. Como resultado, las expresiones XPath son más complicadas, la evaluación es menos eficiente y la validación estructural proporciona pocos beneficios.

Otro ejemplo es el fenómeno de los escritorios web , donde un entorno de escritorio completo, que a menudo incluye un navegador web, se ejecuta dentro de un navegador (que a su vez normalmente se ejecuta dentro del entorno de escritorio proporcionado por el sistema operativo ). Un escritorio dentro de un escritorio puede ser inusualmente incómodo para el usuario y, por lo tanto, esto generalmente solo se hace para ejecutar programas que no se pueden implementar fácilmente en los sistemas de los usuarios finales, o para ocultar el escritorio externo.

Es normal que los desarrolladores de software creen una biblioteca de funciones personalizadas relacionadas con su proyecto específico. El efecto de plataforma interna ocurre cuando esta biblioteca se expande para incluir funciones de propósito general que duplican la funcionalidad ya disponible como parte del lenguaje o plataforma de programación. Dado que cada una de estas nuevas funciones generalmente llamará a varias de las funciones originales, tienden a ser más lentas y, si están mal codificadas, también son menos confiables. [ cita requerida ]