awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
mattia-battiston avatar

mattia-battiston/clean-architecture-example

0
View on GitHub↗
1,776 stars·400 forks·Java·24 views

Clean Architecture Example

This project is a reference implementation for structuring Java applications using clean architecture and domain-driven design principles. It provides a template for organizing code into concentric layers, ensuring that core business rules and domain entities remain entirely independent of external frameworks, databases, and delivery mechanisms.

The architecture relies on the dependency inversion principle to decouple business logic from infrastructure. By defining abstract interfaces for data access and external services, the system allows for the replacement of underlying technologies without requiring modifications to the core application logic. A dedicated configuration layer manages dependency injection, isolating framework-specific wiring from the domain code.

The codebase supports a comprehensive testing strategy that validates system behavior across multiple levels, including isolated unit logic, business-focused acceptance scenarios, and end-to-end journeys. This modular approach facilitates long-term maintenance by ensuring that business actions remain encapsulated as independent, testable units.

Features

  • Clean Architecture Frameworks - Structures Java applications to keep core business rules independent of frameworks, databases, and external delivery mechanisms.
  • Clean Architecture Implementations - Provides a reference implementation of clean architecture principles to decouple business logic from external frameworks and infrastructure.
  • Dependency Inversion Patterns - Ensures high-level business logic depends on abstractions rather than concrete infrastructure implementations to maintain loose coupling.
  • Domain-Driven Designs - Encapsulates complex business logic and data entities into isolated objects free from infrastructure dependencies.
  • Layered Architectures - Organizes application code into concentric functional layers to isolate business logic from infrastructure and delivery concerns.
  • Data Abstraction Layers - Defines abstract interfaces for data operations to allow swapping storage technologies without modifying core business logic.
  • Data Access Abstractions - Defines interfaces for data operations to allow swapping storage backends without affecting core application code.
  • Agnostic Models - Implements core business entities as plain objects independent of external persistence frameworks or runtime environments.
  • Decoupled Logic Layers - Separates user interfaces and data access layers from core application logic to allow for flexible technology upgrades.
  • Explicit Dependency-Injection Wiring - Implements explicit dependency injection wiring to decouple business logic from framework-specific infrastructure.
  • Business Entities - Encapsulates core business data and rules within independent objects free from infrastructure or framework requirements.
  • Logic Decoupling - Separates user interaction points and background tasks from core business logic to ensure accessibility through any communication channel.
  • Testability Optimizations - Designs application components with clear interfaces to enable comprehensive testing without requiring external system environments.
  • Use Case Driven Architectures - Implements discrete business actions as independent units that define their own data requirements to ensure isolation from delivery mechanisms.
  • Business Logic Isolation - Executes discrete business actions as independent units that define their own data requirements through interfaces.
  • End-to-End Testing - Validates system behavior through a tiered testing strategy covering unit logic, acceptance scenarios, and end-to-end journeys.

Star history

Star history chart for mattia-battiston/clean-architecture-exampleStar history chart for mattia-battiston/clean-architecture-example

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Curated searches featuring Clean Architecture Example

Hand-picked collections where Clean Architecture Example appears.
  • Clean Architecture and SOLID Principles

Projects sharing features with Clean Architecture Example

These projects share indexed features with Clean Architecture Example. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • bespoyasov/frontend-clean-architecturebespoyasov avatar

    bespoyasov/frontend-clean-architecture

    2,575View on GitHub↗

    This project provides a structural pattern for organizing React and TypeScript applications by decoupling business logic from user interface components and external infrastructure. It implements a layered architecture that isolates core domain rules, ensuring that the application remains independent of specific frameworks, libraries, or external service implementations. The architecture relies on dependency injection and inversion principles to manage service implementations, allowing for modularity and easier testing. By utilizing a functional core and imperative shell, the system separates

    TypeScriptadaptersapplicationclean-architecture
    View on GitHub↗2,575
  • threedotslabs/wild-workouts-go-ddd-exampleThreeDotsLabs avatar

    ThreeDotsLabs/wild-workouts-go-ddd-example

    6,348View on 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
    View on GitHub↗6,348
  • jasongt/cleanarchitectureJasonGT avatar

    JasonGT/CleanArchitecture

    20,216View on GitHub↗

    This project is an ASP.NET Core solution template and boilerplate that implements a clean architecture pattern for building enterprise applications and web API backends. It provides a standardized project scaffold designed to separate business logic from infrastructure and user interfaces to ensure high testability and low coupling. The project features a database agnostic structure that allows for switching persistence providers without altering core business logic. It includes a command line tool for enterprise application bootstrapping, enabling the automated generation of project structur

    C#
    View on GitHub↗20,216
  • sergdort/cleanarchitecturerxswiftsergdort avatar

    sergdort/CleanArchitectureRxSwift

    4,100View on GitHub↗

    This project is a Swift iOS architecture template that implements the Clean Architecture pattern. It organizes software into distinct layers to decouple business rules from external frameworks, user interfaces, and infrastructure to improve testability and maintenance. The template incorporates Domain Driven Design to isolate core business logic and utilizes a modular application structure to divide features into independent modules. It employs the Coordinator pattern to remove routing logic from view controllers and a dependency injection framework to ensure components remain independent and

    Swift
    View on GitHub↗4,100
Compare all 30 related projects→

Frequently asked questions

What does mattia-battiston/clean-architecture-example do?

This project is a reference implementation for structuring Java applications using clean architecture and domain-driven design principles. It provides a template for organizing code into concentric layers, ensuring that core business rules and domain entities remain entirely independent of external frameworks, databases, and delivery mechanisms.

What are the main features of mattia-battiston/clean-architecture-example?

The main features of mattia-battiston/clean-architecture-example are: Clean Architecture Frameworks, Clean Architecture Implementations, Dependency Inversion Patterns, Domain-Driven Designs, Layered Architectures, Data Abstraction Layers, Data Access Abstractions, Agnostic Models.

Which projects share features with mattia-battiston/clean-architecture-example?

Projects with overlapping indexed features include: bespoyasov/frontend-clean-architecture — This project provides a structural pattern for organizing React and TypeScript applications by decoupling business… threedotslabs/wild-workouts-go-ddd-example — This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query… jasongt/cleanarchitecture — This project is an ASP.NET Core solution template and boilerplate that implements a clean architecture pattern for… sergdort/cleanarchitecturerxswift — This project is a Swift iOS architecture template that implements the Clean Architecture pattern. It organizes… ivanpaulovich/clean-architecture-manga — This project is a .NET Clean Architecture template designed to separate domain logic from infrastructure and web… zakirullin/cognitive-load — This project is a collection of software engineering principles and architectural design patterns designed to minimize…