awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
evolutionary-architecture avatar

evolutionary-architecture/evolutionary-architecture-by-example

0
View on GitHub↗
3,447 Stars·522 Forks·C#·MIT·7 Aufrufe

Evolutionary Architecture By Example

Dieses Projekt dient als umfassende Bildungsressource für die Implementierung modularer Monolithen und Microservices innerhalb von .NET-Umgebungen. Es konzentriert sich auf die Anwendung von Domain-Driven-Design-Prinzipien zur Verwaltung komplexer Geschäftslogik und bietet einen strukturierten Ansatz für den Aufbau von Systemen, die sich parallel zu sich ändernden Anforderungen weiterentwickeln können.

Die Architektur definiert sich durch ihren Fokus auf Modularität und klare Grenzen, wobei Vertical Slices und Bounded Contexts genutzt werden, um Code nach Geschäftsprozessen anstatt nach technischer Schicht zu organisieren. Sie zeichnet sich durch ein systematisches Migrationsframework aus, das es Entwicklern ermöglicht, von einer monolithischen Codebase zu unabhängigen, verteilten Diensten überzugehen. Dies wird durch das Ersetzen interner Kommunikation durch robuste, ereignisgesteuerte Nachrichtenübermittlung und die Sicherstellung erreicht, dass Domänenlogik von Persistenz- und Infrastrukturbelangen entkoppelt bleibt.

Das Projekt deckt ein breites Spektrum an Fähigkeiten ab, einschließlich taktischer Domänenmodellierung mit Aggregaten und Entitäten, automatisierter Teststrategien unter Verwendung containerisierter Infrastruktur und der Pflege von Architectural Decision Records zur Nachverfolgung der Design-Evolution. Es bietet zudem Tooling für die Orchestrierung der lokalen Entwicklung und statische Analyse zur Durchsetzung von Qualitätsstandards über unabhängige Module hinweg.

Das Repository ist als praktischer Leitfaden strukturiert und bietet eine Schritt-für-Schritt-Methodik für die inkrementelle Skalierung von Softwarearchitekturen.

Features

  • Modular Monoliths - Provides comprehensive guidance on building single-unit applications structured into independent, feature-based modules.
  • Domain Driven Design - Provides educational resources and practical examples for implementing domain-driven design patterns.
  • Business Invariant Enforcement - Validates entity state against defined business rules to ensure consistency during state transitions.
  • Domain-Driven Entity Frameworks - Provides structural environments for implementing aggregates that manage consistency boundaries and state changes.
  • Aggregate State Management - Encapsulates business logic and state transitions within a central object to maintain consistency.
  • Vertical Slices - Groups related logic and dependencies into self-contained feature folders to simplify maintenance.
  • .NET Architecture Guides - Offers a comprehensive educational resource for building modular monoliths and microservices using .NET.
  • Component-Based Module Organizations - Structures code into self-contained modules that encapsulate logic and routing for improved maintainability.
  • Bounded Context Definition - Specifies the roles, responsibilities, and boundaries for different domain models to prevent logic conflicts.
  • Modular Monolith Strategies - Provides strategies for delaying the transition to microservices by favoring isolated modules until independent deployment becomes necessary.
  • Isolated Monolithic Modules - Organizes functionality into isolated modules within a single deployment unit to manage complexity and data access requirements.
  • Domain-Persistence Decoupling - Separates business entity definitions from database schemas to ensure domain rules remain independent of infrastructure.
  • Bounded Contexts - Defines explicit boundaries that establish the responsibility and linguistic scope of a specific domain model.
  • Domain Event Emission - Triggers notifications when state changes occur within an entity to allow asynchronous system reaction.
  • Domain Logic Patterns - Provides standards for organizing business logic, associations, and validations within the model layer.
  • Code Quality and Analysis - Uses static analysis and linting tools to enforce coding standards and identify potential bugs.
  • Message Brokers - Uses infrastructure components to decouple service communication by facilitating asynchronous data exchange through message queues.
  • Architecture Decision Records - Provides a system for documenting and tracking technical design choices and their rationale.
  • Cross-Module API Definitions - Establishes shared data formats and interface contracts to ensure consistent communication between internal system modules.
  • Module-to-Service Extractions - Provides strategies for decomposing internal application modules into independent microservices via API definition and IPC.
  • Event Bus Systems - Provides architectural patterns and utilities for decoupled communication between application components.
  • Event Driven Messaging - Provides interfaces and abstractions for decoupling services through asynchronous message delivery and pub-sub patterns.
  • Inter-Module Communication - Provides mechanisms for invoking functions and exchanging data between isolated internal modules.
  • Migration Strategies - Outlines strategies for transitioning from monolithic codebases to distributed services through incremental service extraction.
  • Value Objects - Encapsulates data with built-in validation logic to represent domain concepts without identity.
  • Context-Based Organizations - Structures code by business domain context to ensure business processes are self-contained.
  • Shared Event Definitions - Distributes shared event definitions as versioned packages to maintain consistency across multiple services.
  • Separation of Concerns - Enforces separation of concerns by grouping related business logic into distinct projects.
  • Isolated Module Testing - Tests individual modules in isolation to enable targeted verification of business domains.
  • Migration Methodologies - Provides a step-by-step methodology for transitioning monolithic applications into distributed services using message-based communication.
  • Integration Test Suites - Verifies the interaction between different components of a system in a containerized environment.
  • Containerized Integration Tests - Execute integration tests against isolated database instances running in containers to ensure reliable verification of service behavior in a production-like environment.
  • End-to-End Testing - Simulates complete business workflows across the application stack to verify functional correctness.
  • Containerized Integration Tests - Automates testing that verifies component interactions using production-like container environments.

Star-Verlauf

Star-Verlauf für evolutionary-architecture/evolutionary-architecture-by-exampleStar-Verlauf für evolutionary-architecture/evolutionary-architecture-by-example

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Kuratierte Suchen mit Evolutionary Architecture By Example

Handverlesene Sammlungen, in denen Evolutionary Architecture By Example vorkommt.
  • Baue dein eigenes X
  • ein Leitfaden für moderne Softwarearchitektur-Muster
  • Leitfäden und Beispiele für Event-Driven Architecture

Open-Source-Alternativen zu Evolutionary Architecture By Example

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Evolutionary Architecture By Example.
  • sairyss/domain-driven-hexagonAvatar von Sairyss

    Sairyss/domain-driven-hexagon

    14,395Auf GitHub ansehen↗

    This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal architecture in enterprise applications. It provides a structured boilerplate that isolates core business logic from infrastructure concerns, ensuring that domain entities, use cases, and external technology adapters remain decoupled and maintainable. The framework distinguishes itself by enforcing strict architectural boundaries and dependency inversion, preventing unauthorized access to core logic from external layers. It utilizes a command-query responsibility segregation pat

    TypeScriptarchitectural-patternsarchitecturebackend
    Auf GitHub ansehen↗14,395
  • zakirullin/cognitive-loadAvatar von zakirullin

    zakirullin/cognitive-load

    12,288Auf GitHub ansehen↗

    This project is a collection of software engineering principles and architectural design patterns designed to minimize the mental effort required to understand and maintain source code. It serves as a guide for implementing clean code methodologies and architectural simplification to reduce the overall cognitive load on developers. The framework emphasizes aligning module boundaries and ubiquitous language with business stakeholders to prevent architectural ripple effects. It advocates for balancing service granularity to avoid the overhead of distributed monoliths and suggests favoring objec

    Auf GitHub ansehen↗12,288
  • jasontaylordev/cleanarchitectureAvatar von jasontaylordev

    jasontaylordev/CleanArchitecture

    19,657Auf GitHub ansehen↗

    This project is a comprehensive template for building enterprise-grade applications using clean architecture principles. It provides a structured foundation that decouples core business logic from infrastructure concerns, ensuring that domain entities remain independent of specific frameworks or database implementations. By utilizing a mediator-based request dispatching pattern, the system separates state-mutating commands from read-only queries, promoting a clean separation of concerns across the entire codebase. The architecture is organized into vertical slices, grouping related logic and

    Bicepangularaspnetcoreclean-architecture
    Auf GitHub ansehen↗19,657
  • ddd-by-examples/libraryAvatar von ddd-by-examples

    ddd-by-examples/library

    5,805Auf GitHub ansehen↗

    This project is a reference implementation of Domain-Driven Design patterns, functional domain modeling, and event-driven state coordination. It demonstrates the application of strategic and tactical design patterns to manage complex business requirements. The implementation utilizes a functional domain model with pure functions and immutable objects to manage state transitions and side effects. It features a Command Query Responsibility Segregation architecture to separate read and write models, alongside event-driven coordination to maintain consistency across autonomous business boundaries

    Java
    Auf GitHub ansehen↗5,805
Alle 30 Alternativen zu Evolutionary Architecture By Example anzeigen→

Häufig gestellte Fragen

Was macht evolutionary-architecture/evolutionary-architecture-by-example?

Dieses Projekt dient als umfassende Bildungsressource für die Implementierung modularer Monolithen und Microservices innerhalb von .NET-Umgebungen. Es konzentriert sich auf die Anwendung von Domain-Driven-Design-Prinzipien zur Verwaltung komplexer Geschäftslogik und bietet einen strukturierten Ansatz für den Aufbau von Systemen, die sich parallel zu sich ändernden Anforderungen weiterentwickeln können.

Was sind die Hauptfunktionen von evolutionary-architecture/evolutionary-architecture-by-example?

Die Hauptfunktionen von evolutionary-architecture/evolutionary-architecture-by-example sind: Modular Monoliths, Domain Driven Design, Business Invariant Enforcement, Domain-Driven Entity Frameworks, Aggregate State Management, Vertical Slices, .NET Architecture Guides, Component-Based Module Organizations.

Welche Open-Source-Alternativen gibt es zu evolutionary-architecture/evolutionary-architecture-by-example?

Open-Source-Alternativen zu evolutionary-architecture/evolutionary-architecture-by-example sind unter anderem: sairyss/domain-driven-hexagon — This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal… zakirullin/cognitive-load — This project is a collection of software engineering principles and architectural design patterns designed to minimize… jasontaylordev/cleanarchitecture — This project is a comprehensive template for building enterprise-grade applications using clean architecture… ddd-by-examples/library — This project is a reference implementation of Domain-Driven Design patterns, functional domain modeling, and… cheese10yun/spring-jpa-best-practices — This project serves as a comprehensive guide and collection of architectural patterns for implementing domain-driven… threedotslabs/wild-workouts-go-ddd-example — This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query…