Add-in

13/04/2007 - 08:34 por Jorge Eastman \(jeastman\) | Informe spam
Hola amigos.

Desde hace mucho tiempo he tenido la atención puesta en la posibilidad de
desarrollar una aplicación que se pueda ampliar por medio de Add-In, la
verdad hasta ahora no he hecho nada al respecto, pero ha llegado el momento
de tomarlo enserio.

Quien podría darme algunos enlaces donde pueda leer un poco sobre éste tipo
de desarrollo.

Gracias a todos por su ayuda.

Un saludos a todos.

Preguntas similare

Leer las respuestas

#1 Alhambra-Eidos Kiquenet
13/04/2007 - 09:30 | Informe spam
Como ejemplo puedes ver el modelo de Addin de Reflector

http://www.codeplex.com/reflectorad...Title=Home
Respuesta Responder a este mensaje
#2 Daniel A. Calvin
13/04/2007 - 15:34 | Informe spam
Hola Jorge

No tengo un link para recomendar sobre extensión de aplicaciones mediante
addins.
Si puedo contarte al go sobre mi experiencia sobre el tema, he contruido
aplicaciones extendibles.

Voy a partir de algunos supuestos para darle sustento a mi explicación:

1 - La aplicación no conoce a ninguno de los addin, solo conoce cuestiones
minimas que hacen a la integración del addin, no a su función especifica.
2 - El addin debe conocer las particularidades de la aplicación a la cual
integrarse.
3 - Los addins se agregarán con una fuerte dependencia de tipos.

Como se resuleve esto:
1 -
El sustento de este punto es poder instanciar los addins declarados,
veremos luego las opciones para esto, con un chequeo fuerte de tipos.

Si bien podría mediante reflection instanciar cualquier clase e invocar los
metodos que esta exponga lo ideal es que se pueda confiar en que el addin
cumple determinado contrato. Esto es, hereda de una clase abstarcta conocida
por la aplicación a extender o
1 - La aplicación debe exigir que los addins sean clases que expongan una
interface determinada.
De esa forma te aseguras que el addin se cargara correctamente o
fallara en el momento de la carga, pero no mas tarde.
Para esto podes utilizar lo que se llama inyeccion de dependencia.
Si querés te puedo enviar un ejemplo de un framework de log, que utiliza
esta técnica.
Se extiende dinamicamente las extensiones se instancian en tiempo de
ejecución en base a un archivo de configuración.
La plicación los maneja sin enterarse que calse es o que hace, solo sabe que
implementan una interface determinada.

2 - El addin debe conocer la aplicación que va a extender.
Este conocimiento puede ser abstarcto, por ejemplo:
Quiero que el addin agrgue opciones en un menu determinado o una de una
tool bar.
El addin debe conocer un objeto aplicación que exponga metodos o
propiedades, algunos serán collections, que permitiran al addin interactuar
con la aplicación.
Ese modelo expúesto mediante la aplcación y que el addin debe recibir de
alguna manera no debería estar atado a la implementación de la aplicación,
solo a los conceptos.
Por ejemplo si la aplicación tiene un menu principal que a su vez tiene
varios submenues, algunos de ellos extendibles, debería exponer en mi objeto
aplicación una estructura que represente esos menues, pero que no sean de la
clase menu.
De esa forma expongo al addin los elementos con los cuales interactua con la
aplicación, pero lo hago ed tal forma que la implementación, por ejemplo que
en vez de ser un menu sea una treeview no afecte al addin.

3 - Esrto tiene relación con lo expresado en 1. El addin debería implementar
una interface o heredar de una clse abstracta.

Bueno, eso es todo, si te interesa algo de lo que te cuento te puuedo
ampliar un poco y mandarte algunos ejemplos de como implementar.

Saludos

Daniel A. Calvin
MCP


"Jorge Eastman (jeastman)" wrote:

Hola amigos.

Desde hace mucho tiempo he tenido la atención puesta en la posibilidad de
desarrollar una aplicación que se pueda ampliar por medio de Add-In, la
verdad hasta ahora no he hecho nada al respecto, pero ha llegado el momento
de tomarlo enserio.

Quien podría darme algunos enlaces donde pueda leer un poco sobre éste tipo
de desarrollo.

Gracias a todos por su ayuda.

Un saludos a todos.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida