Esta experiencia le presentará varios patrones comunes de arquitectura de software. ¡Espero que sea útil para su trabajo y estudio! Métodos/Pasos
Modelo en capas
Este modelo también se denomina modelo de arquitectura multicapa. Se puede utilizar para construir programas que se pueden descomponer en grupos de subtareas, cada una en un nivel específico de abstracción. Cada capa proporciona un servicio de nivel superior a la siguiente.
Las capas más comunes en los sistemas de información general son las 4 capas que se enumeran a continuación.
Capa de presentación (también llamada capa UI)
Capa de aplicación (también llamada capa de servicio)
Capa de lógica empresarial (también llamada capa de dominio)
Capa de acceso a datos (también llamada capa de persistencia)
Escenarios de uso:
Aplicaciones de escritorio generales
Programa de aplicaciones web de comercio electrónico
Modelo cliente-servidor
Este modelo consta de dos partes: un servidor y varios clientes. El componente del servidor servirá a múltiples componentes del cliente. Los clientes solicitan servicios del servidor y el servidor proporciona servicios relacionados a estos clientes. Además, el servidor escucha continuamente las solicitudes de los clientes.
Escenarios de uso:
Aplicaciones en línea como correo electrónico, intercambio de archivos y banca
Modo de dispositivo maestro-esclavo
Este Este modo consiste de dos partes: el dispositivo maestro y el dispositivo esclavo. El componente maestro distribuye el trabajo entre los mismos componentes esclavos y calcula los resultados finales, que son los resultados devueltos por los dispositivos esclavos.
Escenarios de uso:
En la replicación de bases de datos, la base de datos maestra se considera la fuente autorizada y se sincroniza con ella.
Conectada al bus en el sistema informático Periféricos (unidades maestras y esclavas)
Patrón de filtro de tubería
Este patrón se puede utilizar para construir sistemas que generen y procesen flujos de datos. Cada paso del procesamiento está encapsulado dentro de un componente de filtro. Los datos a procesar pasan a través de tuberías. Estas tuberías se pueden utilizar para almacenamiento en búfer o para sincronización.
Escenario de uso:
Compilador. Los filtros continuos realizan análisis léxico, análisis sintáctico, análisis semántico y generación de código.
Flujo de trabajo bioinformático
Modo agente
Este modo se utiliza para construir estructuras con sistemas distribuidos con desacoplamientos. componentes. Estos componentes pueden interactuar entre sí mediante llamadas de servicio remoto. El componente proxy es responsable de coordinar la comunicación entre componentes.
El servidor publica sus capacidades (servicios y características) al agente. El cliente solicita un servicio al proxy y el proxy redirige al cliente al servicio apropiado en su registro.
Escenarios de uso:
Software de intermediario de mensajes, como Apache ActiveMQ, Apache Kafka, RabbitMQ y JBoss Messaging
Modo punto a punto
Aquí, en este modo, los componentes individuales se denominan pares. Los pares pueden actuar como clientes, solicitando servicios de otros pares, y como servidores, brindando servicios a otros pares. Los pares pueden actuar como clientes, servidores o ambos, y pueden cambiar dinámicamente sus roles con el tiempo.
Escenarios de uso:
Redes de intercambio de archivos como Gnutella y G2
Protocolos multimedia como P2PTV y PDTP
Aplicaciones multimedia propietarias como Spotify
Modo de bus de eventos
Este modo maneja principalmente eventos e incluye 4 componentes principales: fuente de eventos, detector de eventos, canal y bus de eventos. Una fuente de mensajes publica mensajes en un canal específico en el bus de eventos. Los oyentes se suscriben a canales específicos. Los oyentes reciben notificaciones de los mensajes publicados en un canal al que estaban suscritos previamente.
Escenarios de uso:
Desarrollo de Android
Servicio de notificaciones
Patrón Modelo-Vista-Controlador
Esto Esto El patrón, también llamado patrón MVC, divide una aplicación interactiva en 3 partes,
Modelo: contiene datos y funciones principales
Vista: muestra información al usuario (se pueden definir varias vistas). )
Controlador: maneja la información ingresada por el usuario
Esto se hace para separar la representación interna de la información de la forma en que se presenta la información y para aceptar la solicitud del usuario. Separa componentes y permite la reutilización eficiente del código.
Escenarios de uso:
Arquitectura de aplicaciones de Internet en los principales lenguajes de programación
Frameworks web como Django y Rails
Modo Blackboard
Este modo es útil para problemas para los que no existe una estrategia de solución definida. El modo pizarra consta de 3 componentes principales.
Blackboard: una memoria global estructurada que contiene objetos del espacio de la solución
Fuentes de conocimiento: módulos especializados y sus propias representaciones
Componentes de control: seleccione, configure y ejecutar módulos
Todos los componentes tienen acceso a Blackboard. Los componentes pueden generar nuevos objetos de datos que se agregan a la pizarra. El componente busca tipos específicos de datos en la pizarra y los encuentra comparando patrones con fuentes de conocimiento existentes.
Escenarios de uso:
Reconocimiento de voz
Reconocimiento y seguimiento de vehículos
Reconocimiento de estructuras proteicas
Interpretación de señales de sonar
Modo intérprete
Este modo se utiliza para diseñar un componente que interprete un programa escrito en un lenguaje especializado. Básicamente especifica cómo evaluar líneas de un programa, es decir, oraciones o expresiones escritas en un lenguaje específico. La idea básica es tener una clasificación para los símbolos de cada idioma.
Escenarios de uso:
Lenguaje de consulta de bases de datos, como SQL
Lenguaje utilizado para describir protocolos de comunicación