cp-ddd-framework

轻量级DDD正向/逆向业务建模框架,支撑复杂业务系统的架构演化!

24 articles 1.2k View on GitHub ↗
24 articles
How the dddplus-visualization Module Generates Business Model Views from DSL Annotations

Discover how the dddplus-visualization module uses static analysis and JavaParser to convert DSL annotations into business model diagrams with PlantUmlRenderer and PlainTextRenderer.

how-to-guide
Mar 2, 2026
Integrating the dddplus-maven-plugin Enforce Goal into Your Build Pipeline

Integrate the dddplus-maven-plugin enforce goal into your build pipeline to validate DDD-plus architecture compliance. Prevent non-compliant code from reaching production with automated checks.

how-to-guide
Mar 2, 2026
IIdentity and IIdentityResolver: Extension Routing in the cp-ddd-framework

Understand the IIdentity and IIdentityResolver in cp-ddd-framework. Discover how they power extension routing by mapping business data to specific extension implementations.

internals
Mar 2, 2026
How IReducer Enables Early Termination in Extension Execution Loops

Discover how IReducer enables early termination in extension execution loops, preventing unnecessary processing. Learn when to use shouldStop() for efficient extension handling.

deep-dive
Mar 2, 2026
How to Use the @Governance Annotation for Managing Extension Lifecycle in cp-ddd-framework

Master extension lifecycle management with the @Governance annotation in cp-ddd-framework. Learn how to monitor, count, and control extension invocations for robust service governance.

how-to-guide
Mar 2, 2026
BoundedDomainModel vs UnboundedDomainModel in DDDplus: Core Architecture Explained

Understand BoundedDomainModel vs UnboundedDomainModel in DDDplus core architecture. Discover how IUnboundedDomainModel defines identity and BoundedDomainModel manages scenario-specific behavior to avoid God-class anti-patterns.

deep-dive
Mar 2, 2026
How IUnitOfWork Manages the Lifecycle of Domain Objects in DDDplus

Discover how DDDplus IUnitOfWork manages domain object lifecycles atomically across aggregates within a single transaction. Learn to transition objects from transient to persistent state seamlessly.

how-to-guide
Mar 2, 2026
How to Use the @Interceptor Annotation to Modify Extension Execution in DDDplus

Learn to use the @Interceptor annotation in DDDplus to modify extension execution. Intercept extension point calls for pre-processing, post-processing, or short-circuiting without altering extension code.

how-to-guide
Mar 2, 2026
How DDDplus Implements the Specification Pattern with AndSpecification and OrSpecification

Discover how DDDplus implements the Specification pattern using AndSpecification and OrSpecification. Learn to create composable business rules with logical conjunction and disjunction.

deep-dive
Mar 2, 2026
HasOne vs HasMany vs BelongTo in DDDplus: Association Types Explained

Understand HasOne, HasMany, and BelongTo associations in DDDplus. Learn how to model domain relationships for single ownership, collection aggregation, and external references to build robust applications.

deep-dive
Mar 2, 2026
Configuring Default Extension Fallback in DDD-Plus: A Complete Guide

Learn how to configure default extension fallback in DDD-Plus with this complete guide. Annotate your class with @Extension(code = IDomainExtension.DefaultCode) to ensure seamless execution when no specific extension matches.

how-to-guide
Mar 2, 2026
How to Implement a Custom IExtensionInterceptor in cp-ddd-framework: Complete Guide

Learn to implement a custom IExtensionInterceptor in cp-ddd-framework. Modify extension behavior by creating a Spring bean with beforeInvocation and afterInvocation methods. Get the complete guide.

how-to-guide
Mar 2, 2026

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →