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
·
android10 avatar

android10/Android-CleanArchitecture

0
View on GitHub↗
15,540 Stars·3,276 Forks·Java·Apache-2.0·3 Aufrufe

Android CleanArchitecture

This is a reference implementation of Uncle Bob's clean architecture for Android, structured into distinct domain, data, and presentation layers. The project demonstrates how to organize an Android application around business use cases, keeping domain logic and entities free from framework dependencies.

The architecture enforces dependency inversion through layered separation, where inner domain layers define interfaces that outer layers implement. This approach enables repository abstractions for data source switching, presenter-view separation for testable UI logic, and use-case composition for handling complex business scenarios while maintaining single-responsibility boundaries.

The implementation supports testing each layer in isolation, with unit tests for domain and data layers that run without an emulator, and acceptance tests for the presentation layer. The project serves as a practical guide for structuring Android applications with clean architecture principles.

Features

  • Repository Patterns - A pattern that decouples data sources from business logic by defining repository interfaces in the domain layer and implementing them in the data layer.
  • Switching Mechanisms - Allows runtime or compile-time swapping of data sources (e.g., remote API vs. local cache) through repository implementations behind a common interface.
  • Domain Models - Encapsulates core business rules and data structures in plain Java/Kotlin objects within the domain layer, free from framework dependencies.
  • Android Implementations - Structuring an Android app into domain, data, and presentation layers following Uncle Bob's clean architecture principles for maintainable and testable code.
  • Android Samples - A reference implementation of Uncle Bob's clean architecture for Android, with separated domain, data, and presentation layers.
  • Reference Implementations - A reference implementation for structuring Android applications using clean architecture principles and layer separation.
  • Domain Data Presentation Layers - Separate an application into domain, data, and presentation layers to enforce dependency inversion and isolate business logic.
  • Presenter Patterns - A pattern that separates UI logic into presenters transforming domain data into view-ready state, enabling testability without Android framework coupling.
  • Dependency Inversion Patterns - Enforces a strict dependency rule where inner layers define interfaces implemented by outer layers, keeping domain logic framework-agnostic.
  • Android Implementations - An app structure that enforces dependency inversion by isolating business logic into distinct domain, data, and presentation layers.
  • Logic Decoupling - Keep use cases and domain models free of framework dependencies to make them reusable and testable in pure code.
  • Composed Use Case Flows - Combines multiple use cases within a single presentation flow to handle complex business scenarios while maintaining single-responsibility boundaries.
  • Use Case Driven Architectures - An architecture that organizes application logic around business use cases orchestrating data flow between domain entities and external layers.
  • Isolated Layer Testing - Run unit tests on domain and data layers without an emulator, and acceptance tests on the UI layer with a testing framework.

Star-Verlauf

Star-Verlauf für android10/android-cleanarchitectureStar-Verlauf für android10/android-cleanarchitecture

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

Häufig gestellte Fragen

Was macht android10/android-cleanarchitecture?

This is a reference implementation of Uncle Bob's clean architecture for Android, structured into distinct domain, data, and presentation layers. The project demonstrates how to organize an Android application around business use cases, keeping domain logic and entities free from framework dependencies.

Was sind die Hauptfunktionen von android10/android-cleanarchitecture?

Die Hauptfunktionen von android10/android-cleanarchitecture sind: Repository Patterns, Switching Mechanisms, Domain Models, Android Implementations, Android Samples, Reference Implementations, Domain Data Presentation Layers, Presenter Patterns.

Welche Open-Source-Alternativen gibt es zu android10/android-cleanarchitecture?

Open-Source-Alternativen zu android10/android-cleanarchitecture sind unter anderem: kunminx/jetpack-mvvm-best-practice — This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It… bufferapp/android-clean-architecture-boilerplate — This project is a clean architecture reference implementation and modular project template for Android development. It… mattia-battiston/clean-architecture-example — This project is a reference implementation for structuring Java applications using clean architecture and… bxcodec/go-clean-arch — This project is a boilerplate and template for Go applications implementing Clean Architecture. It provides a… cosmicpython/book — This project is a technical resource and pattern library for building enterprise applications with Python. It serves… ivanpaulovich/clean-architecture-manga — This project is a .NET Clean Architecture template designed to separate domain logic from infrastructure and web…

Open-Source-Alternativen zu Android CleanArchitecture

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Android CleanArchitecture.
  • kunminx/jetpack-mvvm-best-practiceAvatar von KunMinX

    KunMinX/Jetpack-MVVM-Best-Practice

    8,928Auf GitHub ansehen↗

    This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It serves as an architecture template and layering guide, dividing application code into view, domain, and data layers to ensure a unidirectional flow of dependencies. The implementation focuses on state management and configuration change handling. It demonstrates how to synchronize UI updates across multiple screens using shared state containers and preserves application state during transitions between portrait and landscape orientations. The codebase covers a broad surface of

    Javajetpackmvvm
    Auf GitHub ansehen↗8,928
  • bufferapp/android-clean-architecture-boilerplateAvatar von bufferapp

    bufferapp/android-clean-architecture-boilerplate

    3,684Auf GitHub ansehen↗

    This project is a clean architecture reference implementation and modular project template for Android development. It provides a structural blueprint designed to isolate business logic from external frameworks and user interfaces. The template emphasizes a modular approach to organize code into independent modules, which is intended to improve build times and long-term project scalability. It demonstrates the application of domain-driven design to keep core business rules and entities independent from the underlying platform. The implementation covers several key architectural patterns, inc

    Kotlinandroidandroid-applicationandroid-architecture
    Auf GitHub ansehen↗3,684
  • mattia-battiston/clean-architecture-exampleAvatar von mattia-battiston

    mattia-battiston/clean-architecture-example

    1,776Auf GitHub ansehen↗

    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 witho

    Java
    Auf GitHub ansehen↗1,776
  • bxcodec/go-clean-archAvatar von bxcodec

    bxcodec/go-clean-arch

    10,118Auf GitHub ansehen↗

    This project is a boilerplate and template for Go applications implementing Clean Architecture. It provides a standardized project structure designed to organize code into decoupled layers, ensuring that core business logic remains independent of databases, frameworks, and user interfaces. The implementation focuses on a domain-driven design that utilizes dependency injection and the repository pattern to abstract data storage. It enforces architectural boundaries through internal package encapsulation and layer-based dependency inversion. The project includes a development toolchain that au

    Goarchitecturearticleclean-architecture
    Auf GitHub ansehen↗10,118
Alle 30 Alternativen zu Android CleanArchitecture anzeigen→