Ada 2022 Hybrid Reference Architecture

:tada: I’m excited to announce the release of the Ada 2022 Hybrid Reference Architecture—a comprehensive project that includes a reference codebase and a 240-page primer on implementing DDD, Clean Architecture, and Hexagonal patterns using generics instead of OOP interfaces. The primer textbook is complete and currently under editorial review—stay tuned!

:magnifying_glass_tilted_left: If you’ve been searching for “hexagonal clean architecture with generics”, you’ve found it!

This isn’t just an Ada project—it’s a mental model for any language that favors generics over interfaces. The patterns translate directly to Rust, modern C++, and beyond.

:white_check_mark: Complete working implementation - Production-ready Ada 2022 code ready to use as a starter template
:white_check_mark: Comprehensive primer textbook - Mental model translation from OOP to generics
:white_check_mark: Side-by-side UML diagrams - Compare the same patterns in both paradigms visually
:white_check_mark: Compiler-enforced boundaries - Architecture violations literally won’t compile
:white_check_mark: Professional starter template - Clone and adapt for your own hexagonal projects

:fire: Unique Features:

  • Three-layer architecture enforcement (compiler + validation script + CI/CD)
  • Application.Result facade pattern (breaks Presentation→Domain coupling elegantly)
  • Bounded strings at API boundaries (predictable memory, zero allocation failures)
  • 10 comprehensive test suites - all passing, zero violations

:link: GitHub: https://github.com/abitofhelp/hybrid_ada
:open_book: Full Documentation: Complete with architecture guides, testing strategies, and detailed explanations

7 Likes

Welcome to Ada!

Just side notes. Generics are fundamentally non-testable and surely generics have interfaces, they would be pointless otherwise.

You probably meant static/parametric polymorphism (generics) vs dynamic polymorphism (tagged types) and inheritance through parameter substitution in the code (generic instantiation) vs. inheritance per type/view conversion.(calling the parent’s method body).

As for Rust and C++ there is no reason to promote inferior languages in Ada forum. :grinning:

1 Like

Thanks for making this! I never heard of Hexagonal Architecture before. Looking forward to studying your project and docs.