2 dépôts
Concrete applications of clean architecture that isolate business logic from infrastructure.
Distinct from Clean Architecture Frameworks: Focuses on the actual implementation of layers rather than the frameworks providing the templates.
Explore 2 awesome GitHub repositories matching software engineering & architecture · Layered Implementations. Refine with filters or upvote what's useful.
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.
Isolates core business logic from external frameworks through hexagonal layering to ensure independence.
NorthwindTraders est une application exemple ASP.NET Core qui sert d'implémentation de référence pour le développement d'API web RESTful. Elle démontre l'utilisation de l'écosystème .NET pour exposer des fonctionnalités métier via HTTP. Le projet fournit un exemple d'architecture d'application en couches, séparant la logique métier de l'infrastructure et des dépendances externes. Il implémente une couche de données Entity Framework Core utilisant une approche code-first pour mapper les objets de l'application à une base de données relationnelle. L'implémentation couvre les capacités backend fondamentales incluant l'intégration de base de données relationnelle, le routage des requêtes côté serveur et l'organisation des couches d'architecture découplées.
Isolates business logic from infrastructure by implementing a decoupled, layered architecture.