|
*** Documento en elaboración *** v185 v*
Las interfaces y los delegates son elementos centrales en la arquitectura
TBW. El MPR define un conjunto de interfaces y delegates nativos (ver
MPR Interfaces y Delegates).
Las interfaces
Las interfaces permiten aseguran que determinados BLOCKS puedan ser
sustituidos inmediatamente por otros en el futuro maximizando de esta manera la
Adaptabilidad de la aplicación a requerimientos cambiantes.
Las interfaces se pueden usar también simplemente para "marcar" determinados
BLOCKS y clases para facilitar su reconocimiento en run-time. En estos casos la
interface puede estar vacía. Este mecanismo se utiliza en el
2PS.
Los delegates
La importancia estratégica de los delegates se describe en la
FAQ *01.
En forma análoga al polimorfismo de clases provisto por las interfaces los
delegates proveen polimorfismo de métodos que permite la intercambiabilidad
de métodos.
Un delegate puede ser un parámetro de un método el cual en run-time recibirá
como argumento un "pointer a un método".
Los delegates elevan el nivel de abstracción/generalidad de los métodos
que los incluyen como parámetros.
La intercambiabilidad de métodos mejora la Adaptabilidad de la aplicación
frente a requerimientos cambiantes.
En M&P los delegates son centrales para la operación del intérprete
BScript y para las operaciones asincrónicas (callbacks) y la "programación
con continuaciones".
El intérprete BScript utiliza el delegate Func<ENV, BSX, BSX> que se usa en la
implementación de Servicios BScript y de los event handlers de los
Eventos BScript.
|