Prisma de la interpretación del código fuente y la creación de la Región 1-Bootstrapper

introducción

Prisma también estudió antes, pero no ha habido una comprensión en profundidad de la estructura, el proyecto ahora está tratando de transformar una aplicación de escritorio Winform WPF en un programa, y ​​yo quiero el programa para ser probado para mantener la buena arquitectura, prisma de estos diseño se ajusta a mi la demanda, principalmente para WPF y Xamarin, para la construcción de acoplamiento flexible, mantenible marco de aplicación, comprobable, después de ver el código fuente también se inspira, bienvenido a discutir el cambio.

empezar

Voy a empezar con el orden oficial de muestras para ver la introducción de cada función es la forma de lograr.

0, PrismApplicationBase

En primer lugar, nos dicen acerca de esta clase, que es de inicio, esta clase construida toda Prism cuenta y el marco general. La mayoría de los métodos de esta clase son método virtual se puede anular añadir algunas funciones personalizadas, Prisma también la esperanza de que están diseñados.

A lo largo del prisma, UnityContainer la nada ya no es, es un gran contenedor contiene todas las clases, resolver cuando sea necesario.

1585470691950

Hay dos campos, ContainerExtension en UnityContainer, por supuesto, también puede personalizar otros contenedores, en el artículo son por defecto contenedores UnityContainer en contenedor también dar una explicación oficial

ModuleCatalog es la definición de una forma de cargar el módulo, el módulo es una gran ventaja Prisma, dar una explicación oficial, la intención vale más que mil palabras

Todo empieza PrismApplicationBase de una clase, cargado con todas las características de la prisma de esta clase.

1585471475741

Mira el método más importante, se ha completado la mayor parte de las funciones en este proceso, cuya tarea principal es la de módulo de la infraestructura, RequireTypes, RegionAdapterMappings, RegionBehaviors, se inyecta en el contenedor adecuado.

Aquí hay varias maneras de sentirse

1585471851178

1585471862192

1585471872010

1585471899983

1585471908276

En la sub-clase para mirar por encima PrismApplicationBase

1585472041462

Como he dicho anteriormente, un método de reescritura, Base.Method primera llamada, y luego añadir sus propias características

Sólo dos maneras para que los desarrolladores pueden reescribir

1585472248282

Crear un formulario principal y el método registerTypes, el segundo método en el que podemos añadir un poco de base necesaria para construir, ContainerRegistry de hecho registrada contenedor Unidad

1585472365902

Echemos un vistazo a un ejemplo de lo agradable. Ejemplos son PRISM-muestras-Wpf-master en un total de 29, https://github.com/PrismLibrary/Prism-Samples-Wpf

1, BootstrapperShell

1585472950515

1585472994216

En cuanto a es crear un Bootstraper A continuación, ejecute por un momento, a través del contenedor para crear un formulario principal, Mostrar un poco.

Mira cómo, de hecho, los artículos están en Bootstrapper

1585473149592

Ver estas dos clases no es un sentimiento de cuenta de pronto, el programa previo original es lo que? PrismApplicationBase método es extraer del conjunto de la solicitud, la re-implementar este momento, ¿es éste el único principio de responsabilidad?

Ejecutar aspecto, estos métodos son demasiado familiarizados con él.

1585473531825

Hay registros de la forma de uso, y luego, por supuesto, es la creación de un registro, toda la información se pone en los recursos para crear una variedad de formas, elegir la más simple nueva,

1585473705313

2, Regiones

Esto es simplemente para crear una Región

1585473969090

Vistazo ah, una región que se utiliza RegionManager ContentControl propiedad de dependencia creado.

Con los clásicos tres cuestiones a mirar RegionManager, lo que eres, vienes, a dónde ir.

1585474161899

Oh! Usted es joven insolente, ah, muy potente. Mira las comprobaciones sobre el mismo.

Mira regionName saben que hay una propiedad de dependencia, cuando la propiedad cambia de llamada

1585474975966

IsInDesignMode es determinar si el diseño del modo VS, llamada

1585475107593

Oh, o utilice la carga diferida, o contenedor creado, prisma casi todas las clases son creados por el envase

1585475296411

Comportamiento? WPF en el interior de la conducta es el servicio ah, es decir, poner una propiedad de dependencia a un lado, cuando se necesita el disco. Ve a ver

1585475415828

servicio muy estándar.

1585475467136

El uso de referencias débiles, gran diseño, pensar en ello, también,

1585475585421

1585475621940

Implementar la carga diferida, ah, grande, Región crea cuando la interfaz está cargado por el evento de carga.

1585475679204

1585475701564

Cargando activa sólo una vez. Me gustó la palabra WireUp, sinuoso, Unwire,

1585475877997

1585476017158

Creado por su nombre, a continuación, RegionAdapterMapping hallazgo RegionAdapter Inicializar creado por el adaptador.

1585476694306

RegionAdapterMapping es una colección de RegionAdapter

1585476749370

1585478744531

1585476852940

Crear Región, y luego añadir el comportamiento

1585477085692

1585476992679

¿Cuáles son comportamiento?

1585477032237

Creación Región completó.

Mira la documentación oficial en la Región

3, CustomRegions

Desea personalizar Regin, sin duda va a ser la creación de un RegionAdapter, una costumbre StackPanelRegionAdapter

1585477844435

1585477898475

1585477950980

Sólo mediante la lectura del código fuente para entender estos no parece difícil.

resumen

Al explorar el código fuente bajo Bootstapper, Región de cómo crear y personalizar un RegionAdapter, levantó suavemente el velo un poco de Prisma. Hay un montón de características e ideas, doy la bienvenida a explorar y aprender.

Supongo que te gusta

Origin www.cnblogs.com/lovexinyi/p/12593960.html
Recomendado
Clasificación