16 repository-uri
Techniques for modularizing cross-cutting concerns like logging or security.
Explore 16 awesome GitHub repositories matching software engineering & architecture · Aspect-Oriented Programming. Refine with filters or upvote what's useful.
Nest is a server-side framework for building scalable and maintainable enterprise-grade applications using TypeScript. It provides a modular architecture that organizes code into encapsulated, reusable modules, utilizing a dependency injection container to manage object lifecycles and resolve component dependencies through declarative metadata. The framework distinguishes itself through a platform-agnostic abstraction layer that decouples core logic from underlying HTTP servers, allowing for flexible implementation choices. It employs a middleware-based request pipeline that processes traffic
Inspects class metadata at runtime to automate dependency injection and request routing logic.
This project serves as a comprehensive knowledge base and reference for distributed systems engineering and enterprise software architecture. It provides a structured collection of technical resources, design patterns, and methodologies intended to assist in the design, maintenance, and scaling of complex, high-performance software environments. The repository distinguishes itself by offering deep dives into core architectural concepts such as actor-based concurrency, aspect-oriented interception, and inversion-of-control containers. It emphasizes the practical application of distributed syst
Modularize cross-cutting concerns like logging or security by intercepting method calls to keep business logic clean.
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
Employs aspect-oriented programming to modularize cross-cutting concerns like logging and security.
Hutool is a standard utility library for Java application development designed to simplify common programming tasks and reduce boilerplate code. It provides a comprehensive collection of reusable helper classes and static utilities to streamline development across the Java ecosystem. The project implements a wide array of specialized toolkits, including systems for cryptography and security, network communication via HTTP and JSON clients, and the processing of office documents and file system IO. It also features a concurrency and scheduling framework for managing asynchronous tasks and recu
Provides reflective metadata programming tools to inspect class structures and annotations at runtime.
SpringAll is a comprehensive reference library and learning resource for enterprise Java application development. It provides a collection of practical guides, configuration templates, and code examples designed to demonstrate standard architectural patterns within the Spring ecosystem. The project serves as a reference
Provides techniques for modularizing cross-cutting concerns like logging or security using aspect-oriented programming.
Scala is a statically typed programming language and compiler that combines object-oriented and functional programming paradigms. It serves as a cross-platform runtime language capable of targeting the Java Virtual Machine and JavaScript to share logic between backend servers and web frontends. The project provides a functional programming framework with immutable data structures and higher-order functions to build reliable concurrent and distributed applications. It distinguishes itself through deep interoperability with Java and JavaScript ecosystems and the ability to transform code into n
Implements techniques for inspecting and manipulating class structures and metadata at runtime.
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
Provides specialized support for aspect-oriented programming to implement cross-cutting concerns like logging or security.
This is a learning resource that explains the Spring Framework through source code analysis and practical examples. It covers the foundational principles of Inversion of Control and Dependency Injection, demonstrating how the IoC container manages bean definitions, dependency injection, and lifecycle callbacks. The material also explores Spring's Aspect-Oriented Programming implementation, showing how cross-cutting concerns like logging and security are handled through proxy-based weaving. The resource provides walkthroughs of Spring Boot's automatic configuration mechanism, detailing how con
Implements cross-cutting concerns like logging and security separately from business logic using Spring AOP.
Flecs is a high-performance entity component system framework and data-oriented programming library. It serves as a simulation engine core and game engine architecture tool, decoupling state from behavior by separating entities, components, and systems. The framework features a runtime reflection layer for dynamic data inspection and a built-in scripting system for defining entity behavior without recompilation. It also includes a network interface and REST API for remote simulation administration and state querying. The library covers a broad surface of simulation capabilities, including ar
Provides runtime reflection and metadata to allow dynamic data inspection and scripting.
Cello is a programming language extension for C that provides a higher-level implementation of the language. It integrates an object-oriented framework, an automated garbage collection system, and a runtime reflection library to enable dynamic type inspection. The project implements a structured system for object orientation within C, including support for classes, type classes, and polymorphism. It includes a runtime exception handling system to intercept execution errors and initiate recovery procedures. The framework further provides generic programming capabilities for creating reusable
Stores type and object information in a runtime registry for dynamic discovery of program properties.
SpringSide 4 is an enterprise Java reference architecture and utility library built on the Spring Framework. It provides a pragmatic, best-practice application stack for building RESTful web services, web applications, and data access layers, along with a curated collection of high-performance utility classes for common operations like text, date, collection, reflection, concurrency, and I/O handling. The project distinguishes itself by combining a complete reference application scaffold with production-oriented infrastructure. It includes a JPA-based data access layer that automatically tran
Uses proxy-based AOP interception for modularizing cross-cutting concerns like transactions and security.
Acest proiect servește drept arhitectură de referință cuprinzătoare și ghid de bune practici pentru dezvoltarea aplicațiilor scalabile cu framework-ul Spring Boot. Oferă un plan structural pentru dezvoltarea backend-ului Java, concentrându-se pe implementarea API-urilor decuplate și stabilirea standardelor arhitecturale. Proiectul detaliază în mod specific crearea de „starters” personalizate și module de auto-configurare pentru a simplifica integrarea bibliotecilor terțe. De asemenea, oferă un plan de implementare pentru ambalarea aplicațiilor ca fișiere jar executabile și optimizarea build-urilor stratificate pentru medii cloud containerizate. Suprafața de capabilități acoperă optimizarea performanței prin caching în memorie și procesare asincronă, precum și sincronizarea sistemelor distribuite folosind lock-uri distribuite și brokeri de mesaje. Acoperirea suplimentară include gestionarea persistenței datelor, migrarea bazelor de date, programarea automată a sarcinilor și implementarea programării orientate pe aspecte (AOP) pentru preocupări transversale.
Applies aspect-oriented programming to implement reusable cross-cutting logic such as logging and security independently from business flows.
Small-Spring is a simplified Java implementation of the Spring framework designed to study the internal architecture of inversion of control containers and dependency injection frameworks. It functions as a bean container that manages object lifecycles and resolves dependencies through automated instantiation and property injection. The project implements a mechanism for intercepting method calls using dynamic proxies to support aspect-oriented programming. It separates cross-cutting concerns from business logic by wrapping target objects to modify method executions. The system covers compon
Implements techniques for modularizing cross-cutting concerns by intercepting method calls.
cglib is a suite of tools for JVM bytecode generation, class transformation, and dynamic proxying. It provides a high-level API for creating and transforming Java bytecode at runtime to modify class behavior and a framework for intercepting method calls and field access. The project implements dynamic proxy generation to support aspect oriented programming and custom data access patterns. It also includes a serialization manager to implement serialization contracts by adding specific methods and controlling object replacement within proxy classes. The library covers bytecode manipulation and
Supports aspect oriented programming by intercepting Java methods to implement cross-cutting concerns like logging.
This project is a collection of reference implementations and practical guides for building enterprise Java applications using the Spring Boot framework. It serves as a backend project gallery and implementation guide, providing a set of architectures for common server patterns. The repository distinguishes itself through a focus on distributed system design, offering examples for global unique identifier generation, distributed caching, and full-text search. It also includes templates and examples for creating custom Spring Boot starters to encapsulate shared dependencies and configurations
Implements aspect-oriented programming to decouple cross-cutting concerns like logging and security from business logic.
This project is an instructional repository and learning resource providing a comprehensive collection of study notes, programming guides, and runnable source code examples. It serves as a guide for Java SE and Java web development, featuring a library of code samples that demonstrate common algorithms and technical implementations. The repository focuses on language core and runtime analysis, with detailed tutorials on multithreading and concurrency. It provides practical implementations of software architecture and design patterns, such as the singleton and strategy patterns, as well as exp
Demonstrates aspect-oriented programming by generating dynamic proxies to handle cross-cutting logic.