15 repositorios
Design patterns and structural management of object graphs and lifecycles in Java projects.
Distinguishing note: None of the candidates address the general architectural management of object graphs for modularity in Java.
Explore 15 awesome GitHub repositories matching software engineering & architecture · Java Application Architecture. Refine with filters or upvote what's useful.
CoreNLP es una biblioteca de procesamiento de lenguaje natural en Java diseñada para convertir texto en lenguaje humano sin procesar en datos estructurados. Utiliza un conjunto de anotadores lingüísticos para analizar el texto a través de un pipeline, extrayendo estructuras gramaticales, sentimiento y patrones lingüísticos. El proyecto incluye un motor de resolución de correferencia que vincula múltiples menciones de la misma entidad para mantener la coherencia contextual en los documentos. También proporciona herramientas para el reconocimiento de entidades nombradas con el fin de categorizar personas, empresas y ubicaciones, así como un etiquetador de partes de la oración para asignar categorías gramaticales y formas base a las palabras. La biblioteca también cubre el análisis de sentimiento de texto para evaluar el tono emocional y admite la serialización de datos lingüísticos procesados en formatos estandarizados para su almacenamiento o intercambio externo.
Provides a strongly typed Java class hierarchy for representing tokens, sentences, and parsed linguistic trees.
Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and lifecycle management. It functions as a static dependency injector and graph validator, resolving object requirements during the build process to avoid runtime reflection and prevent crashes caused by missing bindings. The framework distinguishes itself by using static analysis and code generation to produce factory classes at build time. It employs qualifier-based type differentiation to manage multiple implementations of the same type and provides scope-based lifecycle management
Manages complex object graphs and class lifecycles in Java projects to improve modularity and testability.
This project is a curated library of technical ebooks and guides focused on Java language learning, backend architecture, and Java Virtual Machine internals. It serves as a reference-driven knowledge base and a technical repository for software engineering principles. The collection provides specialized materials for studying Java backend architecture, including high-performance server-side development and concurrency. It includes a dedicated JVM technical reference for performance tuning and internal machine behavior, as well as resources for algorithm study and data structures. Additional
Provides a curated collection of reference materials focused on high-performance server-side development and concurrency.
This is a demonstration project that illustrates the classic SSM architecture pattern—combining SpringMVC, Spring, and MyBatis—for building scalable enterprise Java web applications. It serves as both a learning resource and a practical tutorial for developers who want to understand how these three frameworks work together in a full-stack context. The project provides a step-by-step guide for assembling SpringMVC, Spring, and MyBatis into a cohesive enterprise web application stack, covering everything from Spring dependency injection and transaction management to MyBatis database access and
Demonstrates the classic SSM architecture pattern for building scalable Java web applications.
QLExpress es un motor de scripting dinámico y lenguaje de expresión para la plataforma Java. Funciona como un evaluador de expresiones en tiempo real y motor de reglas de negocio, permitiendo que las aplicaciones ejecuten scripts y evalúen lógica de negocio sin requerir la recompilación del sistema. El motor se distingue por un sandbox de scripting seguro que impone políticas de seguridad mediante listas blancas de clases y tiempos de espera de ejecución. Admite matemáticas de alta precisión para evitar errores de redondeo y proporciona soporte de alias de lenguaje para crear lenguajes específicos de dominio que se asemejan al lenguaje natural. Las capacidades adicionales incluyen un mecanismo de reproducción de fragmentos basado en macros y la capacidad de extender clases Java existentes inyectando nuevos métodos de miembro accesibles solo dentro del entorno de script. El sistema cubre una amplia gama de capacidades, incluyendo compilación basada en bytecode con almacenamiento en caché de scripts, evaluación de árboles de sintaxis abstracta e interpolación dinámica de cadenas. También proporciona observabilidad a través del seguimiento de ejecución a nivel de nodo para el análisis de causa raíz, así como validación de sintaxis de script y soporte de estructuras de datos complejas utilizando sintaxis JSON.
Enables the extension of existing Java classes by injecting new member methods accessible only within the script environment.
Este proyecto sirve como una arquitectura de referencia integral y una guía de mejores prácticas para desarrollar aplicaciones escalables con el framework Spring Boot. Proporciona un plano estructural para el desarrollo backend en Java, centrándose en la implementación de APIs desacopladas y el establecimiento de estándares arquitectónicos. El proyecto detalla específicamente la creación de starters personalizados y módulos de autoconfiguración para simplificar la integración de bibliotecas de terceros. También proporciona un plano de despliegue para empaquetar aplicaciones como archivos jar ejecutables y optimizar compilaciones en capas para entornos de nube contenerizados. La superficie de capacidades cubre el ajuste de rendimiento mediante caché de memoria y procesamiento asíncrono, así como la sincronización de sistemas distribuidos utilizando bloqueos distribuidos y brokers de mensajes. La cobertura adicional incluye la gestión de persistencia de datos, migraciones de bases de datos, programación de tareas automatizadas y la implementación de programación orientada a aspectos para preocupaciones transversales.
Provides a structural guide for implementing decoupled APIs and distributed systems using Java architectural patterns.
backend-cheats is a comprehensive backend engineering reference guide and a collection of technical cheatsheets. It serves as a knowledge base for server-side development, networking, and computer science fundamentals, delivered as a markdown-based static site. The project provides detailed handbooks for API design, specifically covering REST and GraphQL interfaces, and software architecture patterns such as Monolithic, Microservices, and MVC. It includes a database architecture overview comparing relational and NoSQL paradigms, as well as a web security reference for identifying vulnerabilit
Serves as a comprehensive reference guide for backend engineering, networking, and web application design.
Este proyecto es una plantilla de aplicación SwiftUI y plano arquitectónico para construir aplicaciones iOS. Implementa Clean Architecture y el patrón MVVM para separar la lógica de negocio, el acceso a datos y la interfaz de usuario en capas distintas. El framework utiliza un contenedor de inyección de dependencias para gestionar los tiempos de vida de los objetos y un patrón de coordinador de flujo para manejar la navegación y las transiciones de pantalla independientemente de la capa de vista. La base de código incluye sistemas para la gestión de datos de red, presentando paginación de datos remotos, recuperación respaldada por caché y mapeo de datos a través de objetos de transferencia de datos (DTO). También proporciona mecanismos para la persistencia del historial de búsqueda local y un framework de pruebas unitarias para validar la lógica de negocio y los servicios de red.
Implements clean architecture principles to separate business logic from data access and the user interface.
This project is a .NET Clean Architecture template designed to separate domain logic from infrastructure and web frameworks. It provides a project structure for C# applications and a React Redux frontend, creating a testable backend focused on maintainability. The implementation centers on Domain Driven Design, modeling core business domains using entities and value objects to manage complex requirements. It utilizes a decoupled architecture to ensure that business logic remains independent of external frameworks and database technologies. The project covers full stack application bootstrapp
Provides a complete project structure and template to bootstrap a .NET and React application using Clean Architecture.
This project is a technical interview repository and a curated collection of study guides designed for backend, frontend, and full-stack engineering evaluations. It provides a JavaScript interview guide and a comprehensive question bank of solved coding challenges and algorithmic problems to prepare developers for job screenings. The resource extends beyond core language skills to include a frontend development syllabus covering DOM fundamentals and accessibility, a backend architecture reference for server-side concepts and distributed systems, and a full-stack study resource for the MERN st
Offers a curated collection of reference materials on server-side concepts and distributed systems.
Este proyecto proporciona un patrón estructural para organizar aplicaciones de React y TypeScript desacoplando la lógica de negocio de los componentes de la interfaz de usuario y la infraestructura externa. Implementa una arquitectura en capas que aísla las reglas de dominio centrales, asegurando que la aplicación permanezca independiente de frameworks, librerías o implementaciones de servicios externos específicos. La arquitectura se basa en principios de inyección de dependencias e inversión para gestionar las implementaciones de servicios, permitiendo la modularidad y pruebas más fáciles. Al utilizar un núcleo funcional y un shell imperativo, el sistema separa los efectos secundarios de la lógica de negocio pura, mientras que los contratos de tipo compartidos y la seguridad de tipos estricta aseguran estructuras de datos consistentes en todos los módulos de la aplicación. El enfoque facilita la creación de casos de uso y entidades de dominio agnósticas al framework que pueden probarse y mantenerse de forma aislada. Al definir interfaces abstractas para servicios externos e implementar capas de traducción de datos, el proyecto asegura que el código específico de la infraestructura no se filtre en la lógica de negocio primaria.
Implements layered architecture principles to decouple business logic from infrastructure and delivery mechanisms.
Este proyecto es una implementación de referencia para estructurar aplicaciones Java utilizando arquitectura limpia y principios de diseño impulsado por el dominio (DDD). Proporciona una plantilla para organizar el código en capas concéntricas, asegurando que las reglas de negocio principales y las entidades de dominio permanezcan completamente independientes de frameworks externos, bases de datos y mecanismos de entrega. La arquitectura se basa en el principio de inversión de dependencia para desacoplar la lógica de negocio de la infraestructura. Al definir interfaces abstractas para el acceso a datos y servicios externos, el sistema permite el reemplazo de tecnologías subyacentes sin requerir modificaciones en la lógica principal de la aplicación. Una capa de configuración dedicada gestiona la inyección de dependencias, aislando el cableado específico del framework del código de dominio. La base de código admite una estrategia de pruebas integral que valida el comportamiento del sistema en múltiples niveles, incluyendo lógica unitaria aislada, escenarios de aceptación centrados en el negocio y viajes de extremo a extremo. Este enfoque modular facilita el mantenimiento a largo plazo al asegurar que las acciones de negocio permanezcan encapsuladas como unidades independientes y comprobables.
Provides a reference implementation of clean architecture principles to decouple business logic from external frameworks and infrastructure.
Clean React es un framework de desarrollo frontend y plantilla de aplicación diseñado para proporcionar una base estructurada para construir aplicaciones web escalables. Sirve como un boilerplate que organiza la lógica de interfaz de usuario compleja en capas desacopladas y testeables utilizando TypeScript. El proyecto se distingue por aplicar una arquitectura limpia estricta y un diseño impulsado por interfaces, que separa las reglas de negocio de alto nivel de los detalles de framework de bajo nivel. Integra un contenedor de inyección de dependencias y primitivas de gestión de estado reactivo para asegurar que los componentes del sistema permanezcan intercambiables y mantenibles. El framework admite un ciclo de vida de desarrollo integral incorporando pipelines de integración y despliegue continuos automatizados. Exige un flujo de trabajo de desarrollo impulsado por pruebas (TDD), requiriendo la creación de pruebas unitarias y de integración para verificar la fiabilidad del código y el comportamiento esperado antes de la implementación.
Structures application logic into decoupled layers using established design patterns to improve long-term maintainability and simplify testing.
This project is a web-based inventory and order management system built on the ASP.NET Core framework. It provides a comprehensive platform for tracking stock levels, managing the full lifecycle of sales and purchase orders, and coordinating warehouse logistics. The system is designed to handle operational tasks ranging from goods receipt and physical counting to delivery tracking and returns. The backend architecture utilizes a clean architecture pattern, separating business logic from infrastructure concerns to maintain modularity. It implements command segregation and a message dispatching
Implements a clean architecture pattern to decouple business logic from infrastructure and delivery mechanisms.
Este proyecto sirve como implementación de referencia para aplicar principios de arquitectura limpia (clean architecture) dentro de un entorno C#. Demuestra cómo estructurar aplicaciones empresariales organizando el código en capas concéntricas e independientes que aíslan la lógica de negocio central de la infraestructura externa, los frameworks y las preocupaciones de la base de datos. El código ilustra la aplicación del diseño guiado por el dominio (DDD) para centrar la lógica del software en torno a las entidades y reglas de negocio. Utiliza el desacoplamiento basado en interfaces y la inversión de dependencias para asegurar que las políticas de alto nivel permanezcan ajenas a los detalles de implementación de bajo nivel, facilitando la mantenibilidad y la capacidad de prueba a largo plazo. Para gestionar el acceso a los datos, el proyecto emplea el patrón repositorio para abstraer las tecnologías de almacenamiento. Este enfoque desacopla la capa de dominio de mecanismos de persistencia específicos, permitiendo el reemplazo de proveedores de datos sin requerir modificaciones en la lógica central de la aplicación. La inyección de dependencias se utiliza en todo el proyecto para gestionar los ciclos de vida de los objetos y el cableado de los componentes.
Demonstrates clean architecture principles by organizing code into concentric layers that isolate business logic.