viernes, 19 de febrero de 2010

Tipos de enlace - Conclusiones

Aunque aparentemente el mismo problema puede solucionarse de diversas formas, existen diferencias conceptuales en función del tipo de relación que seleccionamos. Por lo que será necesario pensar en las consecuencias de cada tipo de enlace: Enlaces estáticos, enlaces ligeros, enlaces dinámicos y enlaces mixtos.

Para las relaciones "dinámicas" es necesario haber definir una nueva taxonomía con atributos semánticos que permitan formalizar dicha relación. Por ejemplo:
  [[Ref::
    [[Type::Bloque o atributo semántico]]
    [[Property::
      [[Type::Atributo semántico]][[Value::Valor del atributo]]
    ]]
  ]]

  • Ref: Contiene la referencia al contenido de otro bloque semántico.
  • Type: Tipo del bloque semántico del cual queremos referenciar su contenido.
  • Property: Consulta sobre una propiedad semántica contenida dentro del bloque.
  • Type y Value: Atributo semántico y valor esperado para ese atributo.

Al añadir en un bloque semántico una referencia "dinámica" a otro bloque semántico, el primer bloque contendrá "formalmente" todos los atributos semánticos de dicha referencia.
Por ejemplo, en el caso expuesto en los posts anteriores, parece lógico que si mi TodoList puede llegar a contener "cientos" de tareas, la solución más simple y dinámica sería el uso de un enlace "ligero".

Si queremos "formalizar" el modelo o queremos definir una relación es más compleja, probablemente sería más correcto el uso de un enlace "dinámico".

Sin embargo, si decidiésemos que una tarea puede componerse de subtareas, puede que nos interese para esta implementación un enlace más "estático": Cualquier cambio de una subtarea se ve reflejado en el propio sentido semántico de la tarea. Si implementamos el segundo ejemplo del post sobre enlaces dinámicos, se vería afectada la tarea sólo en el caso de añadir o eliminar subtareas.

No hay comentarios:

Publicar un comentario