Antipatrones de desarrollo de software: Ambiguous Viewpoint

Problema

El análisis y diseño de los modelos orientados a objetos (OOA&D) son a menudo presentados sin poner en claro el punto de vista presentado por el modelo. Por defecto, los modelos OOA&D indican un punto de vista de implementación que es potencialmente, como mínimo, útil. Puntos de vista mezclados no permiten la separación fundamental de las interfaces de los detalles de su implementación, lo cual es uno de los beneficios primarios del paradigma de la orientación a objetos.



Solución refactorizada

Existen tres puntos de vista fundamentales para los modelos OOA&D: el punto de vista del negocio, el punto de vista de la especificación y el punto de vista de la implementación. El primero define el modelo del usuario de la información y los procesos. Es un modelo que los expertos de dominio pueden defender y explicar (comunmente llamado modelo de análisis). Los modelos de análisis son algunos de los modelos más estables del sistema de información y valen la pena mantener.
Los modelos pueden ser menos útiles si no se enfocan en la perspectiva necesaria. Una perspectiva aplica filtros a la información. Por ejemplo, definir un modelo de clase para un sistema de intercambio telefónico puede variar significativamente dependiendo del enfoque proporcionado por las siguientes perspectivas:

  • Usuario telefónico: se preocupa por la facilidad de hacer llamadas y recibir facturas detalladas.
  • Operador telefónico: se preocupa por conectar usuarios con los números solicitados.
  • Departamento de cuentas telefónicas: quien se preocupa por las fórmulas para la facturación y los registros de todas las llamadas realizadas por los usuarios.

Algunas de las mismas clases serán identificadas, pero no muchas; donde hay, los métodos no serán los mismos.
El punto de vista de la especificación hace foco en las interfaces del software. Dado que los objetos (como tipos de datos abstractos) tienen la intención de ocultar los detalles de implementación detrás de interfaces, el punto de vista de la especificación define las abstracciones expuestas y los comportamientos en un objeto de sistema. Define el límite entre los objetos del sistema.
El punto de vista de la implementación define los detalles internos de los objetos. Los modelos de implementación son a menudo llamados modelos de diseño en la práctica. Al ser un modelo preciso del software, los modelos de diseño deben ser mantenidos continuamente a medida que el software es desarrollado y modificado. Puesto que un modelo desactualizado es inútil, sólo los modelos seleccionados son oportunos de mantener; en particular, aquellos modelos de diseño que representan aspectos complejos del sistema.

0 comentarios:

Publicar un comentario

Muchas gracias por leer el post y comentarlo.

 
Copyright 2009 Programación SOLIDa
BloggerTheme by BloggerThemes | Design by 9thsphere