Discusión sobre el artículo "Optimización móvil continua (Parte 6): La lógica del optimizador automático y su estructura"

 

Artículo publicado Optimización móvil continua (Parte 6): La lógica del optimizador automático y su estructura:

Describiendo la creación de la optimización móvil automática, al fin hemos llegado a la estructura interna del propio optimizador automático. Este artículo puede resultar útil a aquellos que deseen mejorar el proyecto creado, o bien quieran simplemente analizar la lógica de funcionamiento del programa. En el presente artículo, mostraremos con la ayuda de diagramas UML la estructura interna del proyecto y la interacción de los objetos. Asimismo, analizaremos el proceso de iniciación de las optimizaciones, aunque, por el momento, sin describir el proceso de implementación del optimizador.

Bien, una vez titulados los tipos de los objetos analizados, vamos a analizar sus interacciones mutuas y el proceso de generación al iniciar la aplicación. Sin embargo, primero deberíamos analizar la capa principal de interfaz y sus componentes:

  • AutoOptimiser (ventana principal),
  • AutoOptimiserVM (view model),
  • IMainModel (interfaz del modelo),
  • MainModel (Model),
  • MainModelCreator (fábrica estática para crear el modelo de datos).


Estos son los primeros 5 objetos representados en este diagrama. La clase AutoOptimiser se instancia con el primer inicio de la aplicación, creando la interfaz gráfica. Como podemos ver en el artículo anterior, el marcado XAML de la interfaz gráfica contiene una indicación al objeto AutoOptimiserVM, que ejecuta el papel de ViewModel. Por consiguiente, al crear una capa gráfica, también crearemos la clase AutoOptimiserVM,; en este caso, además, la capa gráfica abarca a aquella por completo, por lo que el objeto existirá hasta que no sea eliminada la interfaz gráfica. Por ello, está relacionada con la clase AutoOptimiser (nuestra ventana) mediante el vínculo "Composición", que presupone la posesión y control plenos del objeto.  

Autor: Andrey Azatskiy

Razón de la queja: