3 repository-uri
Explicit boundaries that define the responsibility and linguistic scope of a specific domain model.
Distinct from Ubiquitous Languages: Distinct from Ubiquitous Languages: focuses on the boundaries and responsibilities of the model rather than just the shared vocabulary.
Explore 3 awesome GitHub repositories matching software engineering & architecture · Bounded Contexts. Refine with filters or upvote what's useful.
Acest proiect este o implementare de referință a design pattern-urilor Domain-Driven Design, modelarea domeniului funcțional și coordonarea stării bazată pe evenimente. Demonstrează aplicarea design pattern-urilor strategice și tactice pentru a gestiona cerințe de business complexe. Implementarea utilizează un model de domeniu funcțional cu funcții pure și obiecte imutabile pentru a gestiona tranzițiile de stare și efectele secundare. Dispune de o arhitectură Command Query Responsibility Segregation pentru a separa modelele de citire și scriere, alături de coordonarea bazată pe evenimente pentru a menține consistența între limitele de business autonome. Codul sursă încorporează o arhitectură modulară de tip monolit folosind bounded contexts și stratificare hexagonală pentru a izola logica de bază de infrastructură. Asigurarea calității este gestionată printr-o suită de dezvoltare bazată pe comportament (BDD) care oglindește limbajul ubicuu pentru a verifica scenariile de business și testele automate care impun constrângeri arhitecturale. Proiectul aplică aceste tipare unui domeniu de gestionare a bibliotecii, acoperind întreținerea catalogului de cărți, fluxurile de lucru de circulație, validările de reținere și urmărirea împrumuturilor întârziate.
Divides the system into independent modules with explicit linguistic and functional boundaries to isolate business complexity.
Acest proiect este o implementare de referință a modelelor de design bazat pe domeniu (DDD) și un exemplu de segregare a responsabilității comenzilor și interogărilor (CQRS). Oferă o colecție de microservicii bazate pe evenimente care demonstrează aplicarea practică a principiilor arhitecturale pentru structurarea sistemelor software complexe. Implementarea separă modelele de citire și scriere printr-un jurnal de evenimente și organizează serviciile în contexte delimitate (bounded contexts) pentru a menține limite funcționale clare. Coordonează logica de business prin dispecerizarea și consumarea evenimentelor de domeniu pentru a sincroniza diferite module. Proiectul acoperă o gamă de capabilități arhitecturale, inclusiv persistența stării bazată pe evenimente, proiecții de citire materializate și stratificarea bazată pe domeniu. Include, de asemenea, o implementare REST API pentru a expune logica de business de bază către sistemele externe.
Organizes services into bounded contexts to maintain clear functional boundaries and a consistent domain language.
Acest proiect servește ca o resursă educațională cuprinzătoare pentru implementarea monoliților modulari și a microserviciilor în medii .NET. Se concentrează pe aplicarea principiilor de domain-driven design (DDD) pentru a gestiona logica de business complexă, oferind o abordare structurată pentru construirea sistemelor care pot evolua odată cu cerințele în schimbare. Arhitectura este definită prin accentul pus pe modularitate și limite clare, utilizând felii verticale (vertical slices) și contexte delimitate (bounded contexts) pentru a organiza codul după procesul de business, mai degrabă decât după stratul tehnic. Se distinge printr-un framework de migrare sistematic care permite dezvoltatorilor să facă tranziția de la un codebase monolitic la servicii independente, distribuite. Acest lucru este realizat prin înlocuirea comunicării interne cu mesagerie robustă, bazată pe evenimente, și asigurându-se că logica de domeniu rămâne decuplată de preocupările de persistență și infrastructură. Proiectul acoperă o suprafață vastă de capabilități, inclusiv modelarea tactică a domeniului cu agregate și entități, strategii de testare automatizate folosind infrastructură containerizată și menținerea înregistrărilor deciziilor arhitecturale pentru a urmări evoluția design-ului. Oferă, de asemenea, instrumente pentru orchestrarea dezvoltării locale și analiză statică pentru a impune standarde de calitate în modulele independente. Repository-ul este structurat ca un ghid practic, oferind o metodologie pas cu pas pentru scalarea incrementală a arhitecturii software.
Defines explicit boundaries that establish the responsibility and linguistic scope of a specific domain model.