17 repositorios
Tools for modularizing cross-cutting concerns like logging, security, and transactions.
Distinguishing note: Focuses on the implementation of interceptors and proxies for cross-cutting logic.
Explore 17 awesome GitHub repositories matching software engineering & architecture · Aspect-Oriented Programming Frameworks. Refine with filters or upvote what's useful.
Spring Framework is an enterprise Java framework providing a comprehensive infrastructure for building server-side applications. It functions as a dependency injection container and a Java application framework designed to support scalable backend development through modular architecture. The project provides tools for aspect-oriented programming to intercept method calls using dynamic proxies, allowing the application of cross-cutting concerns such as security and transactions. It also includes a centralized system for managing object lifecycles and coordinating component wiring by injecting
Implements an aspect-oriented programming framework for modularizing concerns like security and transactions.
This repository serves as a comprehensive collection of practical demonstrations and tutorials for building enterprise-ready Java applications using the Spring Boot framework. It provides structured guidance on core development topics, including the implementation of inversion-of-control containers, auto-configuration mechanisms, and convention-over-configuration patterns to simplify the assembly of complex systems. The project distinguishes itself by offering implementation patterns for diverse architectural requirements, such as microservices development, reactive programming models for hig
Intercepts method calls to inject cross-cutting logic like security and transactions without modifying core business code.
Hutool is a comprehensive suite of Java extensions designed to serve as a standard library extension. Its primary purpose is to reduce development boilerplate for common programming tasks and data manipulation through a collection of utility classes. The project provides specialized toolkits for database management using active record patterns and connection pooling, as well as network communication via a simplified HTTP client and asynchronous socket management. It includes security and identity capabilities such as symmetric and asymmetric encryption, image captcha generation, and JWT token
Provides dynamic proxies and interceptors to apply cross-cutting logic using aspect-oriented programming.
Drogon is a high-performance, cross-platform C++ framework designed for building asynchronous web services and server-side applications. It functions as a multi-threaded, event-driven server engine that manages concurrent network traffic and WebSocket connections with minimal latency. By leveraging non-blocking input/output and native code compilation, the framework provides a foundation for scalable applications that operate efficiently across diverse hardware architectures. The framework distinguishes itself through its compile-time template rendering, which transforms dynamic HTML views in
Provides middleware hooks for injecting custom logic and security policies into the request-response cycle.
The AWS Cloud Development Kit is an infrastructure-as-code framework that enables developers to define and provision cloud resources using familiar programming languages. By utilizing construct-based synthesis, it translates high-level, object-oriented code into declarative templates, allowing for the automated management of complex cloud environments through a centralized, code-driven control plane. The framework distinguishes itself through its ability to model infrastructure as a dependency-aware resource graph, ensuring that components are provisioned and updated in the correct order. It
Applies security and compliance rules to infrastructure definitions during the synthesis phase using aspect-oriented logic.
Guice is a Java dependency injection framework and component container. It automates object wiring by mapping interfaces to implementations via a central injector, removing the need for manual factory patterns and constructor calls. The framework provides specialized support for aspect-oriented programming, allowing for the interception and modification of method execution to implement shared cross-cutting concerns. It also functions as a persistence manager to coordinate transaction boundaries and manage the lifecycle of entity managers within a dependency-injected environment. Its core cap
Intercepts and modifies method execution behavior to implement shared concerns without changing core business logic.
Spring Security is a comprehensive security framework for Java applications that provides authentication and authorization for both web and non-web environments. It functions as an implementation of authentication and authorization logic integrated with the Java runtime environment to protect sensitive resources from unauthorized access. The framework includes toolkits for implementing OpenID Connect and OAuth 2.0 authorization servers and clients, as well as tools for integrating SAML 2.0 identity providers to enable cross-domain single sign-on. It utilizes a role-based access control system
Implements method-level security checks using aspect-oriented programming to decouple authorization from business logic.
Aspects is an aspect-oriented programming library and method hooking framework designed for intercepting and modifying JavaScript function behavior without altering the original source code. It serves as a runtime logic injector that allows for the addition and removal of executable code wrappers from active functions. The library enables the injection of custom logic before or after methods to change application behavior at runtime. It further provides the ability to intercept method calls to capture or override return values before they reach the caller. The framework manages these interce
Provides a framework for implementing cross-cutting concerns by injecting custom logic into functions.
jvm-sandbox is a bytecode instrumentation framework and plugin container for the Java Virtual Machine. It acts as a runtime application modifier that enables the injection and modification of bytecode in a running process without requiring an application restart or changes to the original source code. The system provides a non-invasive aspect-oriented programming framework to intercept method execution and alter behavior in live processes. It functions as an isolated environment for functional modules, employing a custom class loader hierarchy to prevent dependency conflicts between plugins a
Implements cross-cutting concerns like logging or monitoring into a live application without modifying its existing codebase.
Hyperf is a high-performance PHP coroutine framework designed for building microservices and middleware. It utilizes non-blocking coroutines to handle high concurrency and low-latency request processing, providing a foundation for scalable distributed systems. The framework is distinguished by an aspect-oriented programming based dependency injector that enables pluggable components and meta-programming. It includes a coroutine-optimized object-relational mapper with integrated model caching and an orchestration toolkit for microservice governance, featuring service discovery, circuit breaker
Employs aspect-oriented programming to create pluggable components and meta-programming without altering core logic.
mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle of beans, including instantiation, property population, and scope management, while providing a system for automating the wiring of components. The project implements a Java AOP framework that uses dynamic proxies to intercept method calls for cross-cutting logic. It also functions as a Java component scanner to automatically discover and register managed objects via annotations and as a Java event bus to decouple components through a publish-subscribe multicast system. The
Provides an AOP framework to modularize cross-cutting concerns like logging and security.
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
Weaves cross-cutting concerns like logging and transactions into target objects using runtime JDK or CGLIB proxies.
Swoft is a high-performance PHP microservice framework designed to handle concurrent network traffic and asynchronous tasks using coroutines. It provides a foundation for building scalable backend services through a coroutine-driven runtime and high-performance servers supporting HTTP, WebSocket, RPC, and TCP protocols. The framework distinguishes itself through a set of governance and optimization tools, including a distributed service coordination system for registration, discovery, and circuit breaking. It also features a connection pool manager for reusable database and network sockets an
Provides a library for aspect-oriented programming to intercept and extend method behavior without modifying source code.
Small-Spring es una implementación simplificada en Java del framework Spring, diseñada para estudiar la arquitectura interna de los contenedores de inversión de control y los frameworks de inyección de dependencias. Funciona como un contenedor de beans que gestiona el ciclo de vida de los objetos y resuelve dependencias mediante la instanciación automatizada y la inyección de propiedades. El proyecto implementa un mecanismo para interceptar llamadas a métodos mediante proxies dinámicos para soportar la programación orientada a aspectos. Separa las preocupaciones transversales de la lógica de negocio envolviendo objetos objetivo para modificar la ejecución de métodos. El sistema cubre el descubrimiento de componentes mediante el escaneo del classpath y la carga de recursos externos, incluyendo el análisis de configuraciones XML. Incluye gestión del contexto de la aplicación, control del alcance de los beans y un sistema de despacho de eventos basado en el patrón observador para manejar eventos del sistema y hooks de ciclo de vida.
Implements a system for modularizing cross-cutting concerns using dynamic proxies and interceptors.
tiny-spring es un contenedor de inversión de control (IoC) de Java y framework de programación orientada a aspectos (AOP). Proporciona un sistema para gestionar ciclos de vida de objetos e inyección de dependencias para desacoplar componentes de la aplicación. El proyecto cuenta con un generador de proxies de bytecode que permite la interceptación de métodos y la modificación del comportamiento para clases que no implementan interfaces. Utiliza expresiones de pointcut para coincidir clases y métodos específicos para la ejecución de lógica transversal a través de proxies dinámicos. El framework gestiona componentes singleton y resuelve dependencias de objetos utilizando inicialización perezosa. Los entornos de aplicación y el cableado de componentes se definen y arrancan a través de archivos de configuración XML externos.
Provides an AOP framework for modularizing cross-cutting concerns via dynamic proxies.
Este proyecto es un plugin de Gradle diseñado para facilitar la programación orientada a aspectos dentro de aplicaciones Android. Funciona como una herramienta de tiempo de compilación que intercepta llamadas a métodos para inyectar lógica transversal, permitiendo a los desarrolladores centralizar preocupaciones como el registro (logging), la seguridad o el monitoreo de rendimiento sin modificar archivos fuente individuales. El plugin se distingue por su capacidad de realizar weaving de dependencias binarias, lo que aplica instrumentación tanto en el código fuente local como en formatos de bibliotecas externas como JARs y AARs. Al utilizar la API de Transformación de Gradle, se integra directamente en la tubería de compilación para modificar el bytecode, asegurando que la lógica inyectada se aplique consistentemente en todo el grafo de dependencias del proyecto. Más allá de sus capacidades principales de instrumentación, la herramienta proporciona características de optimización de compilación que gestionan conflictos de dependencias y mejoran el rendimiento de la compilación. Soporta procesamiento incremental para volver a procesar selectivamente segmentos de código modificados e incluye mecanismos de filtrado para excluir clases o bibliotecas específicas del proceso de compilación.
Implements aspect-oriented programming to modularize cross-cutting concerns like logging and performance monitoring within Android applications.
Este proyecto es una plataforma de discusión comunitaria construida sobre el framework Spring Boot, diseñada para facilitar el intercambio de conocimientos a través de foros y espacios de preguntas y respuestas. Funciona como un sistema de gestión de contenido modular que admite el desarrollo de comunidades en línea interactivas con funciones de redes sociales integradas. La plataforma se distingue por una arquitectura escalable que admite despliegues distribuidos. Utiliza un sistema de gestión de sesiones centralizado para sincronizar los estados de los usuarios entre múltiples instancias de servidor, asegurando una disponibilidad consistente. La seguridad se mantiene a través de un sistema de control de acceso basado en roles jerárquico que gestiona los permisos de los usuarios y valida las operaciones administrativas, complementado por flujos de trabajo de verificación de correo electrónico automatizados para la gestión de identidad. El sistema incorpora una interfaz de proveedor de servicios conectable que permite la integración de almacenamiento, caché y motores de búsqueda externos para cumplir con requisitos de infraestructura específicos. También cuenta con un diseño de interfaz receptivo para asegurar una accesibilidad consistente tanto en plataformas móviles como de escritorio. Para el mantenimiento operativo, la plataforma incluye rastreo de ejecución de aplicaciones y registro de actividades integrados para ayudar con el monitoreo del rendimiento y la resolución de problemas.
Provides dynamic method interception for logging and performance monitoring across the application.