Experiencia en Diseñador de Procesos de Desarrollo Flex

En (3), se presenta brevemente la arquitectura general de todo el diseñador de la versión Flex, por lo que hoy ingresaremos al núcleo relativamente detallado de Flex GEF.

 

Dado que hay "GEF" en el nombre, definitivamente será similar al diseño de Eclipse GEF. De hecho, se basa en las ideas de diseño y el modelo de concepto de objetos de GEF, pero se ha transformado y simplificado.

 

Como se muestra abajo.

Su núcleo más básico radica en "IModel, IEditPart e IFigure", que constituyen el modelo de objetos central de MVC.

 

     Los cambios en IModel notificarán al controlador IEditPart y el controlador actualizará IFigure. —— Sin embargo, la estructura de objetos de EMF no se utiliza aquí: EMF monitorea todos los cambios de atributos del Modelo en el nivel inferior, y cualquier cambio activará una operación de Notifor, utilizando así el oyente para manejar la notificación. En mi diseño inicial, originalmente quería hacer esto, pero luego abandoné esta idea. Si se introduce un marco similar a EMF en la capa inferior, se introducirá una gran cantidad de clases base, lo que prácticamente aumentará el tamaño del archivo flash final. Por lo tanto, aunque las operaciones de Notifor también son compatibles aquí, todas están en el método "la pantalla periférica notifica activamente a Notifor" y se abandona la capa de notificación. ——El resultado es que en el comando, no solo opero el Modelo a fondo, sino que más o menos se activarán las operaciones de procesamiento en EditPart. (Esta es una implementación muy "descuidada", pero el método de procesamiento es mucho más simple, guarda una gran cantidad de código subyacente y reduce el archivo flash).

 

      Por supuesto, cada editor mantendrá su propio EditDomain, que se utiliza para registrar algunos objetos en el espacio operativo actual, como "comandos", "aquellos objetos que están seleccionados", "Índice rápido de figura o modelo y EditPart", etc. .

      Además, cada Editor tendrá un Visor para definir el modo de visualización actual. Al mismo tiempo, utilice EditPartFactory, ModelFactory y FigureFactory para crear los objetos correspondientes. La capa empresarial superior realmente necesita implementar diferentes Fábricas (que ya incluyen el modelo, la parte de edición y la figura correspondientes), para que se puedan implementar fácil y rápidamente diferentes "modos de presentación de vista". ——En este lugar se encuentran una gran cantidad de códigos de extensión periféricos.

 

      Por supuesto, hay un concepto de "figura" en esto. Ya en (1), se mencionó brevemente que la figura no es un concepto en Flex, solo se usa para "declarar que se trata de una cifra en el FMAM". ( Nota: el procesamiento de esta figura es muy técnico y está limitado por productos comerciales. No puedo explicarlo con más detalle aquí. Solo puedes resolverlo tú mismo )

 

      Por supuesto, la implementación real del kernel Flex GEF es mucho más complicada de lo que se muestra en la figura anterior. Pero el núcleo de la relación lógica básica casi ha sido expresado.

     

      A esta parte del contenido sólo se puede "hacer clic en la parte superior", después de todo, pertenece a la categoría de productos comerciales.

Supongo que te gusta

Origin blog.csdn.net/gnwu1111/article/details/3921277
Recomendado
Clasificación