UML Domine el lenguaje de modelado más utilizado en la actualidad

3. COMENZARA MODELAR casi duplicación de código, Generics nos permite definir una estructura Hash de un tipo genérico (HASH <Tipo Genérico), sobre la cual especificamos métodos y operacio­ nes. Luego, cuando necesitamos un archivo Hash de un tipo especial, reemplazamos el tipo genérico por el que necesitamos, por ejemplo, HASH <Libro> o HASH <Autores>. A I I « b i n d » I I HASH <Genérico> A I I I « b i n d » I Hash <Autor> Hash <Libro> F igu ra 14. Modelización mediante el estereotipo « b i n d » , un tipo especial de dependencias. Existen varios tipos más de dependencias especiales, por ejemplo, Access e Import nos permiten definir interacciones no entre clases, sino entre paquetes. Aunque lo veremos en profiindidad más adelante, la idea es organizar y agrupar las clases que comparten un objetivo en común o que están fuertemente relacionadas bajo algún criterio o concepto en paquetes. Así, por ejemplo, para la especificación de un pro­ tocolo tendremos un paquete con todas las clases relativas al servidor, otro con las clases del cliente, otro con los casos de test, etcétera. A alto nivel es importante tener coordinada la interacción entre paquetes, ya que nos da una visión casi arquitectu­ ral de nuestro sistema. Concretamente, el objetivo es poder especificar cuándo los elementos de un paquete acceden o utilizan elementos definidos en otros paquetes. Podemos ver todos los tipos de dependencias en Visual Paradigm si abrimos el cons­ tructor de dependencias en el menú de constructores. La siguiente tabla nos per­ mite resumir todos los tipos especiales de dependencias disponibles en UML. Q Q PROGRAMACIÓN GENÉRICA La programación genérica fue un concepto introducido por el revolucionario lenguaje ADA en 1983. En la actualidad, está presente en casi todos los entornos de programación como Java o .Net Muchos de los patrones de diseño actuales también están basados en é l El nombre del lenguaje es un homenaje a Ada Lovelace, quien se presume fue el primer programador. 80

RkJQdWJsaXNoZXIy MjI4NDcx