Refinamiento del modelo de diseño basado en modelos de dominio (DDD)
Por el contrario, en la práctica, nuestros técnicos se apresuran a comenzar el desarrollo del proyecto después de un largo aprendizaje y práctica de la arquitectura de la plataforma. En este momento, ¿qué los guía para implementar el negocio de software? La mayoría de ellos pueden depender del modelado de bases de datos o incluso del diseño de procedimientos almacenados de bases de datos complejos y extensos. Estos han comenzado a moverse en la dirección opuesta al análisis y diseño orientado a objetos, embarcándose en una dirección de desarrollo de software equivocada y, en última instancia, desarrollando lentos sistemas empresariales Java. a menudo fallan.
Si no tienes ideas adecuadas de diseño OO, Java te castigará con el rendimiento. Esta puede ser una regla tácita en el mundo Java
Entonces, ¿qué es correcto? ¿Paso OOA/OOD/OOP? En la actualidad, el pensamiento de diseño en torno al diseño impulsado por modelos (MDD) se ha convertido en el pensamiento principal. MDA se mejora y sublima sobre la base de MDD. Primero comprendamos cómo utilizar el pensamiento de diseño impulsado por dominios para analizar y diseñar un sistema de software. /p>
Cuando en lugar de refinar la base de datos para un nuevo sistema, se requiere el refinamiento del modelo orientado a objetos, debemos subdividir radicalmente el dominio empresarial y dividir un dominio empresarial complejo en varios subdominios pequeños al mismo tiempo. También debemos distinguir entre áreas clave y secundarias. Comprender parcialmente los conceptos del dominio central para lograr avances clave.
Modelo de dominio central
Simplificar el modelo para encontrar el. dominio central y refleja los conceptos más valiosos en las necesidades comerciales. Hacer que el núcleo sea esencial es en realidad un proceso para simplificar problemas complejos y también es una prueba de la capacidad real de nuestros diseñadores de software.
El modelo de dominio central No es fácil de descubrir, especialmente en un campo complejo y complejo, en la estructura del modelo, el modelo central suele ser el foco de uno de nuestros subcampos. Por ejemplo, el modelo de pedido es el núcleo del campo de gestión de pedidos. El modelo de mensaje es el núcleo del foro o del sistema de campo de mensajes.
Hay muchos modelos en el campo de análisis que nos ayudan a refinar los modelos centrales, como el prototipo de cuatro colores del patrón de análisis de Martin Fowler, como. el modelo de contabilidad en Patrones de análisis de MF, que no solo se utiliza para registrar los valores de la cuenta, sino que también puede registrar y controlar cada modificación de la cuenta. El prototipo de cuatro colores es un modelo prototipo básico que es superior al modelo de análisis. A continuación se muestra el concepto del modelo de dominio central que perfeccioné basándose en el prototipo de cuatro colores
En términos generales, en las aplicaciones empresariales, el modelo central siempre está rodeado por algunos El llamado satélite es en realidad una inferencia del prototipo de cuatro colores El modelo central y su diagrama de clases satélite son los siguientes
Según la definición de dominio de Eric Evans en su libro Domain-Driven Design, el modelo se divide en. entidades y objetos de valor. Los modelos de entidad se refieren a objetos con atributos independientes en el dominio empresarial, mientras que los objetos de valor pueden ser una descripción, un estado o una regla, siempre que exista un objeto de entidad, el estado de la entidad puede existir. el seguimiento a veces se convierte en un negocio. El dominio utiliza software informático principalmente para el seguimiento, pero la base de datos no es la única representación del estado del objeto, solo un método de almacenamiento (ver alternativas a la base de datos de objetos de estado)
La mayoría de los objetos principales de la entidad en el diagrama puede haber un tipo, como núcleo. Si el modelo es un producto, entonces hay un catálogo de productos. Si el modelo principal es un mensaje, hay un tipo de mensaje. El modelo principal es información. Siempre utilizamos métodos de clasificación para gestionar la información en el campo empresarial. A veces las categorías son incluso tan complejas como una estructura de árbol.
El modelo de entidad central a veces tiene una:N subentidad asociada que generalmente puede expresar la. detalles de la entidad. Por ejemplo, el modelo central existe si es una orden.
Un detalle como un artículo de pedido puede tener varios artículos de pedido en un pedido. Si el modelo central es información, entonces hay múltiples respuestas o comentarios de la información, y dichas asociaciones generalmente existen en múltiples campos comerciales.
Implementación de la interfaz del modelo
Resulta que pensamos que no es necesario comprender los detalles de la implementación durante la fase de análisis y diseño. De hecho, los analistas pueden concentrarse en analizar los diagramas UML sin considerar cómo implementarlos. , esto es un malentendido
Eric Evans en su libro de diseño impulsado por el campo cree que los analistas son responsables de recopilar conceptos básicos del dominio del diseño y deben especificar un conjunto de componentes que se adapten a la construcción de herramientas de programación. Y estos componentes deben poder realizar de manera efectiva un diseño basado en modelos (Model Driven Design) en el entorno de destino, abandonando el modelo de análisis dividido y el diseño. El método utiliza un solo modelo para cumplir con estos dos requisitos, por lo que es necesario comprenderlos. los detalles de implementación del modelo central
Por otro lado, los clientes chinos siempre expresan sus intenciones a través del diseño de la interfaz (es inimaginable si los clientes chinos pueden usar diagramas UML como casos de uso para expresar sus conceptos). Por ejemplo, los clientes dirán: Espero que haya una interfaz que me permita ingresar datos de pedidos y luego poder consultar pedidos que cumplan con las condiciones de consulta. Por lo tanto, nuestro modelo central puede al menos implementar sin problemas el mapeo a la interfaz. El cliente tiene tales requisitos de interfaz de pedido, pero usted no proporciona un modelo de entidad central para adaptarse a él. La implementación de la interfaz se volverá complicada e incluso tomará muchos desvíos y producirá una gran cantidad de objetos basura DTO.
Basado en JdonFramework. framework La implementación es un marco de ejemplo que proporciona la nueva función de consulta de modificación de eliminación (CRUD) en torno al modelo central y la implementación rápida de funciones por lotes. En particular, el requisito previo para la implementación de la función CRUD es que se debe extraer el modelo central. para que el proceso de diseño de la interfaz se pueda implementar inmediatamente a través de la configuración. Realizar la transición del modelo de dominio a la interfaz puede unificar completamente el modelo central de nuestro diseño y los requisitos de interfaz requeridos por los clientes.
El caso del mensaje al aire libre. fuente El paquete de descarga JdonFramework es en realidad un proyecto de implementación del diagrama del modelo central anterior. Los proyectos más complejos pueden considerarse como un uso superpuesto y repetido del modelo central (en principio, el modelo central es la encarnación del prototipo de cuatro colores que se considera el bloque de construcción básico de la mayoría de los sistemas empresariales (consulte [libro][UML][ Peter Coad] Modelado Java en color con UML)
Selección de modelos centrales
En proyectos reales, habrá Múltiples modelos centrales superpuestos y superpuestos, que dependen principalmente del enfoque de su campo.
Por ejemplo, cuando un cliente nos dice que queremos crear un sitio web de viajes, debemos comprender completamente los requisitos y sus funciones. su sistema de software se centra en si primero dice que necesito un sistema de consulta para equipos hoteleros, porque sus clientes están interesados en él, los equipos hoteleros son motivo de gran preocupación, por lo que podemos pensar que los equipos hoteleros son el equipo hotelero central del modelo. En este campo, si lo describe nuevamente, necesito una interfaz para que los clientes seleccionen múltiples equipos del hotel al ingresar la información del hotel. Entonces, en tal campo de preocupación, el modelo central es en realidad el equipo del hotel puede convertirse en un atributo de entidad característico. o incluso un objeto de valor del hotel
Tomemos como ejemplo el sistema de compras, ventas e inventario. En el sistema de compras, la orden de compra es un modelo de entidad central y las materias primas son un modelo de entidad auxiliar. En el sistema de inventario, el pedido de entrada y salida es un modelo de entidad central. La materia prima o el producto terminado representa un modelo conceptual del artículo del inventario. Cuando se requiere la salida de la consulta del informe de inventario, se puede calcular inmediatamente o el resultado. caché