Clean Architecture
Robert C. Martin提出的软件架构理念,将代码分为多个同心圆层次,依赖关系只能从外向内指向,确保业务逻辑不依赖于具体的UI框架或数据库实现
Timeline (last 90 days)
Clean Architecture, proposed by Robert C. Martin, emphasizes that the direction of dependencies should always point toward the inner business rules.
Clean Architecture, proposed by Robert C. Martin, emphasizes the dependency rule—outer layers may depend on inner layers, but inner layers must not depend on outer layers.
Clean Architecture in Android is typically implemented as a three-layer structure consisting of the presentation layer, domain layer, and data layer, with the Repository pattern implementing dependency inversion.
In modern Android architectures (such as MVVM, MVI, or Clean Architecture), the data layer is the sole channel through which the application interacts with external data sources, responsible for data retrieval, transformation, and persistence.
Encapsulating complex game rules in a UI-agnostic core engine—making the game engine exist as an independent class library that does not reference UI namespaces—enables dependency inversion and facilitates future migration to frontends such as WPF, Avalonia, MAUI, or Unity without modifying game logic.
All Facts (7)
整洁架构(Clean Architecture)由Robert C. Martin(Uncle Bob)提出
95%UnverifiedClean Architecture is a software architecture concept proposed by Robert C. Martin, whose core idea is to divide code into multiple concentric circle layers where dependencies can only point inward from the outside.
60%UnverifiedClean Architecture, proposed by Robert C. Martin, emphasizes that the direction of dependencies should always point toward the inner business rules.
50%UnverifiedClean Architecture in Android is typically implemented as a three-layer structure consisting of the presentation layer, domain layer, and data layer, with the Repository pattern implementing dependency inversion.
50%UnverifiedClean Architecture, proposed by Robert C. Martin, emphasizes the dependency rule—outer layers may depend on inner layers, but inner layers must not depend on outer layers.
50%UnverifiedIn modern Android architectures (such as MVVM, MVI, or Clean Architecture), the data layer is the sole channel through which the application interacts with external data sources, responsible for data retrieval, transformation, and persistence.
50%UnverifiedEncapsulating complex game rules in a UI-agnostic core engine—making the game engine exist as an independent class library that does not reference UI namespaces—enables dependency inversion and facilitates future migration to frontends such as WPF, Avalonia, MAUI, or Unity without modifying game logic.
50%