awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ddd-by-examples avatar

ddd-by-examples/library

0
View on GitHub↗
5,805 stars·823 forks·Java·MIT·12 vues

Library

Ce projet est une implémentation de référence des design patterns Domain-Driven Design, de la modélisation de domaine fonctionnelle et de la coordination d'état pilotée par les événements. Il démontre l'application de design patterns stratégiques et tactiques pour gérer des exigences métier complexes.

L'implémentation utilise un modèle de domaine fonctionnel avec des fonctions pures et des objets immuables pour gérer les transitions d'état et les effets de bord. Il dispose d'une architecture Command Query Responsibility Segregation (CQRS) pour séparer les modèles de lecture et d'écriture, ainsi qu'une coordination pilotée par les événements pour maintenir la cohérence à travers les limites métier autonomes.

La base de code intègre une architecture monolithique modulaire utilisant des contextes bornés (bounded contexts) et un découpage hexagonal pour isoler la logique centrale de l'infrastructure. L'assurance qualité est gérée via une suite de développement piloté par le comportement (BDD) qui reflète le langage omniprésent pour vérifier les scénarios métier et des tests automatisés qui imposent des contraintes architecturales.

Le projet applique ces patterns à un domaine de gestion de bibliothèque, couvrant la maintenance du catalogue de livres, les flux de travail de circulation, les validations de réservation et le suivi des retours en retard.

Features

  • Domain-Driven Designs - Provides a reference implementation of strategic and tactical Domain-Driven Design patterns to manage complex business requirements.
  • CQRS Patterns - Implements Command Query Responsibility Segregation to separate read and write models for optimized data access.
  • Repository Patterns - Uses repositories as a mediator layer to decouple domain logic from specific data source implementations.
  • Functional Domain Modeling - Employs pure functions and immutable objects to manage business processes and error states without side effects.
  • Repository Pattern Abstractions - Decouples the domain model from the persistence layer using interfaces that treat data storage as in-memory collections.
  • Functional State Management - Utilizes pure functions and immutable objects to manage business state transitions and side effects.
  • Layered Implementations - Isolates core business logic from external frameworks through hexagonal layering to ensure independence.
  • Command Query Responsibility Segregation - Separates data modification logic from data retrieval logic to optimize performance and scalability.
  • Command Query Responsibility Segregation Patterns - Implements a separation of read and write models to optimize data access and update operations.
  • Modular Monoliths - Organizes the system into independent bounded contexts within a single unit to maintain clear boundaries.
  • Hexagonal Architecture Implementations - Implements ports and adapters to isolate core business logic from external frameworks and infrastructure.
  • Bounded Contexts - Divides the system into independent modules with explicit linguistic and functional boundaries to isolate business complexity.
  • Behavior Driven Development - Implements behavior specifications to validate business logic using a domain-specific language.
  • Domain Event Synchronization - Captures state changes as explicit events to coordinate data consistency across autonomous business boundaries.
  • Type-State Patterns - Uses the type system to represent business states as distinct classes, ensuring valid transitions at compile time.
  • Architecture Rule Enforcement - Employs automated tests to validate dependency rules and prevent infrastructure leaking into core business logic.
  • Data Consistency Models - Implements immediate and eventual consistency mechanisms to maintain data integrity across different business boundaries.
  • Event-Driven Coordination - Coordinates interactions between decoupled business modules using structured domain events.
  • Business Scenario Mappings - Identifies and prioritizes specific business cases to map high-level requirements to detailed architectural design patterns.
  • Architectural Constraint Validation - Uses automated tests to enforce architectural boundaries and prevent infrastructure dependencies from leaking into core logic.
  • Business Requirement Validations - Uses behavior-driven development to verify that implementations match discovered business requirements.
  • Story-Based Test Organization - Implements a domain-specific language for tests that mirrors business stories and ubiquitous language.
  • Behavior-Driven Testing - Implements testing patterns that prioritize business stories and ubiquitous language over internal implementation details.
  • Domain Event Handlers - Uses domain events to execute side effects and synchronize state across different business aggregates.
  • Event Persistence - Captures and stores state changes as explicit events within repositories to support event-driven architectures.
  • Domain Driven Design Samples - Modular monolith library system using advanced DDD techniques.
  • Domain Driven Design - A comprehensive reference implementation of domain-driven design principles.

Historique des stars

Graphique de l'historique des stars pour ddd-by-examples/libraryGraphique de l'historique des stars pour ddd-by-examples/library

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Library

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Library.
  • vaughnvernon/iddd_samplesAvatar de VaughnVernon

    VaughnVernon/IDDD_Samples

    3,938Voir sur GitHub↗

    This project is a reference implementation of domain-driven design patterns and a sample of command query responsibility segregation. It provides a collection of event-driven microservices that demonstrate the practical application of architectural principles for structuring complex software systems. The implementation separates read and write models through an event journal and organizes services into bounded contexts to maintain clear functional boundaries. It coordinates business logic by dispatching and consuming domain events to synchronize different modules. The project covers a range

    Java
    Voir sur GitHub↗3,938
  • threedotslabs/wild-workouts-go-ddd-exampleAvatar de ThreeDotsLabs

    ThreeDotsLabs/wild-workouts-go-ddd-example

    6,348Voir sur GitHub↗

    This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin

    Goclean-architecturecqrsddd
    Voir sur GitHub↗6,348
  • cosmicpython/bookAvatar de cosmicpython

    cosmicpython/book

    3,823Voir sur GitHub↗

    This project is a technical resource and pattern library for building enterprise applications with Python. It serves as a guide for implementing clean architecture, providing a framework for separating core business logic from infrastructure and external frameworks. The material focuses on Domain-Driven Design and the application of architectural patterns to maintain complex business requirements. It provides specific guidance on the Repository pattern for data abstraction, Command-Query Responsibility Segregation for optimizing read and write paths, and the use of dependency inversion to dec

    Python
    Voir sur GitHub↗3,823
  • codelytv/typescript-ddd-exampleAvatar de CodelyTV

    CodelyTV/typescript-ddd-example

    1,473Voir sur GitHub↗

    This project is a reference implementation for building scalable applications in TypeScript using Domain-Driven Design. It provides a structured codebase template that organizes business logic through tactical design patterns and strategic modeling to ensure the software reflects specific business requirements. The architecture utilizes a hexagonal pattern to isolate core business logic from external infrastructure concerns such as databases and delivery mechanisms. It implements Command Query Responsibility Segregation to separate data modification operations from information retrieval tasks

    TypeScriptcodelycodelytvcqrs
    Voir sur GitHub↗1,473
Voir les 30 alternatives à Library→

Questions fréquentes

Que fait ddd-by-examples/library ?

Ce projet est une implémentation de référence des design patterns Domain-Driven Design, de la modélisation de domaine fonctionnelle et de la coordination d'état pilotée par les événements. Il démontre l'application de design patterns stratégiques et tactiques pour gérer des exigences métier complexes.

Quelles sont les fonctionnalités principales de ddd-by-examples/library ?

Les fonctionnalités principales de ddd-by-examples/library sont : Domain-Driven Designs, CQRS Patterns, Repository Patterns, Functional Domain Modeling, Repository Pattern Abstractions, Functional State Management, Layered Implementations, Command Query Responsibility Segregation.

Quelles sont les alternatives open-source à ddd-by-examples/library ?

Les alternatives open-source à ddd-by-examples/library incluent : vaughnvernon/iddd_samples — This project is a reference implementation of domain-driven design patterns and a sample of command query… threedotslabs/wild-workouts-go-ddd-example — This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query… cosmicpython/book — This project is a technical resource and pattern library for building enterprise applications with Python. It serves… codelytv/typescript-ddd-example — This project is a reference implementation for building scalable applications in TypeScript using Domain-Driven… stemmlerjs/ddd-forum — This project is a full-stack forum platform built with TypeScript that serves as a reference architecture for… dotnet-architecture/eshoponweb — eShopOnWeb is a reference application for ASP.NET Core that demonstrates a sample e-commerce site. It serves as a…