stringtranslate.com

Interfaz pública

En informática , una interfaz pública es el punto lógico en el que interactúan entidades de software independientes. Las entidades pueden interactuar entre sí dentro de una sola computadora, a través de una red o a través de una variedad de otras topologías .

Es importante que las interfaces públicas sean estables y estén diseñadas para admitir cambios, mejoras y desuso futuros para que la interacción continúe.


Diseño

Guía

Un proyecto debe proporcionar documentos adicionales que describan planes y procedimientos que pueden usarse para evaluar el cumplimiento del proyecto.

El programador debe crear clases completamente aisladas y aislar las interfaces públicas de las dependencias en tiempo de compilación .

Mejores prácticas

Ejemplo

interfaz C ++

Utilice clases de protocolo para definir interfaces públicas.
Las características de una clase de protocolo son:
  • No contiene ni hereda de clases que contengan datos de miembros, funciones no virtuales o miembros privados (o protegidos) de ningún tipo.
  • Tiene un destructor virtual no en línea definido con una implementación vacía.
  • Todas las funciones miembro distintas del destructor, incluidas las funciones heredadas, se declaran puramente virtuales y se dejan sin definir.
Beneficios
Los beneficios de utilizar clases de protocolo incluyen:
  • Aislar aplicaciones del cliente externo
  • Cambios aislantes que son internos a la interfaz.
  • Aislar los cambios en la interfaz pública de los cambios en la implementación de la interfaz
  • El aislamiento tiene costos, pero estos tienden a verse superados por las ganancias en interoperabilidad y reutilización.
Costos :
  • Pasando por el puntero de implementación
  • Adición de un nivel de indirección por acceso.
  • Adición del tamaño del puntero de implementación por objeto a los requisitos de memoria.

Otra información

Varias metodologías , como la refactorización , apoyan la determinación de interfaces. La refactorización generalmente se aplica a toda la implementación del software, pero es especialmente útil para limpiar adecuadamente las interfaces. Hay otros enfoques definidos a través de la comunidad de patrones. [1]

Referencias

  1. ^ "Biblioteca de patrones de diseño". hillside.net . Consultado el 24 de noviembre de 2022 .