Hablemos de objetos, segmento extra

Continuando con la presentación académica inicial donde como punto final se desarrolló el concepto de encapsulamiento voy a tomar esa temática como base para completar el modulo analítico.

En la figura anterior podemos observar una estructura conceptual realizando énfasis sobre la utilización de interfaces para exponer funcionalidad, internamente existen diversos puntos que es necesario proteger como es el comportamiento que da vida a los servicios, además debemos tener en cuenta analizar las restricciones y el manejo de interrelaciones de la entidad analizada.


Fundamentalmente debemos separar lo que hace un objeto, su responsabilidad, de como lo realiza, esto es fundamental para comenzar a estructurar el encapsulamiento de primer nivel.
Por eso la figura muestra como caja negra los mecanismo, y si expone mediante interfaces la funcionalidad deseada.



La figura anterior muestra el estado privado que se debe mantener del mecanizado de la estructura, existen en forma práctica varias construcciones para lograr este objetivo conceptual pero mantendremos atributos privados y publicaremos esto de forma básica mediante métodos o propiedades dependiendo de las estructuras soportadas por el lenguaje a desarrollar.


Esto trae aparejado el manejo de ámbitos dentro de nuestra construcción, y no solo existe lo privado y lo publico sino podemos empezar a nombrar los ámbitos amigables y protegidos que dependiendo del lenguaje y arquitectura técnica empleada, tomarán diversas nomenclaturas, pero conceptualmente aplica de forma estándar.
Tendremos métodos, atributos, eventos, pero todo tiene una manera correcta de utilización para no violar el concepto y teoría del encapsulamiento. De esto hablaremos en futuras presentaciones.



Justamente la figura anterior muestra el contrato que desempeñan las construcciones a través de interfaces, es fundamental comprender y utilizar de forma homogénea estas características para llevar buenas prácticas de modelado y desarrollo de aplicaciones de software.

Lo que tenemos como resultado es mantener los contratos y poder optimizar los mecanismos internos, llegar a este punto es vital para satisfacer conceptualmente y desde una vista técnica también el encapsulamiento.
Es claro lo que muestra la figura, pasando por las capas y patrones deseados, pero sin modificar el contrato de nuestra interfaz y así mantener coherencia en el desarrollo.

A correlación con todo lo expuesto tenemos algunas ventajas que nos provee el concepto, podemos desarrollar a gran escala, podemos reutilizar mucho de nuestros modelos y prácticas, patrones y claro disminuimos exponencialmente el alcance de errores.

Dejando un poco el concepto de encapsulamiento algo importante a tener en cuenta, es que los objetos trabajan en conjunto y su comunicación en el nivel más alto de análisis es por mensajes, luego vamos a desarrollar mecanismos y diagramas que nos permiten controlar en forma detallada toda esta interacción.

En la figura anterior vemos un diagrama básico de cómo se puede interactuar entre dos entidades, mensaje y control en el mecanismo, que de hecho se puede realizar de muchas maneras dependiendo la problemática actual, el entorno y demás que lo da en análisis arquitectónico ya dentro de un proceso de desarrollo.

Es fundamental en una arquitectura orientada a objetos tener interrelaciones, y claro surge el concepto de relaciones, en la figura anterior podemos observar las asociaciones, la más común de la relaciones, podemos aplicar en varios diagramas de lenguaje unificado el concepto y podemos variar su utilidad dependiendo justamente del ámbito, por este motivo posteriormente nos vamos a introducir en relaciones de forma básica


La figura anterior muestra un vínculo entre objetos, un básico modelado de dominio, no se crean que son casos de uso, solo una grafica conceptual de objetos que se modela cuando se evalúa una problemática basica en su primer contacto por ejemplo.

La agregación es una variación que implica todo/parte dentro de la red de objetos, Generalmente tendremos conceptos que se compondrán de varias partes de otro concepto y así se comenzará el análisis o detección de agregaciones

Existe una variación de la agregación, la composición, pero eso se detalla luego, solo como ven en la figura anterior podemos graficar una relación entre dos objetos y luego estereotipar como agregación.

La composición es una relación especial con una mayor semántica y como explica la presentación se estructura en responsabilidades de creación y destrucción de partes, que hacen diferenciar de las agregaciones propiamente dichas.

Finalmente les dejo algunas ventajas de todos los conceptos planteados, dentro de los equipos de desarrollo, de ingenieria de software, de diseño de arquitecturas, todo es aplicable y luego existen mecanismos que hacen de los conceptos planteados una arquitectura en desarrollo muy consistente que veremos entrega a entrega.

Entradas más populares de este blog

TensorFlow, una simple aproximación al calculo numérico en Python

7 arquetipos #Polymer 1.0 puntos esenciales prácticos

Iniciando la representación de una mobile-web-page pensando en el rendimiento - Parte 1