2011-09-15 13 views
10

Todos sabemos cabeceras de método de Objective-C tienen más información que los encabezados método estándar de Java ....Objective-C y UML de modelado

Esto plantea un problema cuando el modelado con UML ... Algunos nombres de los métodos son bastante incontrolable de largo ... ¿cuál es la mejor manera de modelar estos métodos claramente en un diagrama de clase UML?

¿Puede condensar los nombres de los métodos o escribir algún encabezado de estilo Java para ellos?

que estoy haciendo un informe para un sistema de software y estoy atascado ...

Respuesta

4

creo que en algunos casos los encabezados de Objective-C llevan menos información general, pero pueden mostrar las interfaces con mayor claridad.

Por ejemplo, utilizando los tiempos de ejecución modernos de Objective-C (para Mac OS e iOS) no es necesario declarar iVars privados o métodos privados en los encabezados; se pueden cambiar a una categoría en el archivo de implementación. Incluso puede redeclarar propiedades como readwrite en la implementación donde se declaran como readonly en el archivo de encabezado.

Esto significa que hay mucho más en juego en una clase de lo que se muestra en los archivos de encabezado, pero las interfaces públicas están claramente definidas por separado de la implementación privada, lo cual es bueno en un diagrama UML.

En cuanto a los nombres largos de métodos, eso es parte de la convención de Objective-C. Puede amarlo o detestarlo (personalmente lo amo). Pero en términos de escribirlos, los métodos no muestran sus parámetros. Por ejemplo: supongamos que tiene un método declarado como:

- (NSString *)resultStringWithOptions:(NSDictionary *)options withCharacterSet(NSCharacterSet *)charSet error:(NSError **)error: 

El nombre real de este método es:

resultStringWithOptions:withCharacterSet:error: 

que es más corto.

+0

Tiene sentido, sin embargo, los diagramas de clase pueden ser confusos y, a veces, se deben incluir tipos para ayudar a dar claridad sobre la funcionalidad y la arquitectura de un sistema. En cuyo caso, el nombre del método se vuelve mucho más largo, especialmente para los métodos con más de 2 argumentos. – user559142