Extensiones y puntos de extensi�n

Una regla b�sica para construir sistemas de software modulares es evitar un acoplamiento demasiado estrecho entre componentes. Si los componentes est�n integrados estrechamente, resulta dif�cil montar distintas configuraciones con las piezas o sustituir un componente por una implementaci�n distinta sin causar una cadena de cambios por todo el sistema.

El acoplamiento abierto en Eclipse se consigue parcialmente mediante el mecanismo de extensiones y puntos de extensi�n. La met�fora m�s simple para describir extensiones y puntos de extensi�n ser�a la electricidad. La toma de corriente es el punto de extensi�n; el enchufe o la bombilla que se conecta es la extensi�n. Al igual que en las tomas de corriente, los puntos de extensi�n vienen en toda una gama de tama�os y formas, y solamente encajar�n las extensiones dise�adas para ese punto de extensi�n concreto.

Cuando un plug-in desea permitir a otros plug-ins ampliar o personalizar partes de sus funciones, declarar� un punto de extensi�n. El punto de extensi�n declara un contrato, normalmente una combinaci�n de c�digo XML e interfaces Java, a los que deben ajustarse las extensiones. Los plug-ins que deseen conectarse a ese punto de extensi�n deben implementar ese contrato en su extensi�n. El atributo clave es que el plug-in que se ampl�a no sabe nada sobre el plug-in que se est� conectando a �l m�s all� del �mbito del contrato de ese punto de extensi�n. Esto permite a plug-ins construidos por distintas personas o empresas interactuar de manera uniforme, incluso sin saber mucho el uno del otro.

La plataforma Eclipse tiene muchas aplicaciones del concepto de extensi�n y punto de extensi�n. Algunas extensiones son totalmente declarativas; es decir, que no aportan c�digo. Por ejemplo, un punto de extensi�n proporciona enlaces de teclas personalizados, y otro define anotaciones de archivo personalizadas, denominados marcadores; ninguno de estos puntos de extensi�n requiere c�digo en nombre de la extensi�n.

Otra categor�a de puntos de extensi�n es para alterar temporalmente el comportamiento predeterminado de un componente. Por ejemplo, las herramientas de desarrollo Java incluyen un formateador de c�digo pero tambi�n suministran un punto de extensi�n para que puedan conectarse formateadores de c�digo de terceros. El plug-in de recursos tiene un punto de extensi�n que permite a determinados plug-ins sustituir la implementaci�n de operaciones b�sica de archivo, por ejemplo mover y suprimir.

Una categor�a m�s de puntos de extensi�n se utiliza para agrupar elementos relacionados en la interfaz de usuario. Por ejemplo, los puntos de extensi�n para proporcionar vistas, editores y asistentes a la interfaz de usuario permiten al plug-in base de interfaz de usuario agrupar caracter�sticas comunes, por ejemplo colocar todos los asistentes de importaci�n en un solo di�logo, y definir una manera coherente de presentar contribuciones de la interfaz de usuario desde una amplia gama de plug-ins.

Consulta relacionada

Extensiones (Editor de plug-ins)
Puntos de extensi�n (Editor de plug-ins)

Consulta relacionada

Plug-in