Why?
I want to close the existing gap on having a guidance for real world implementation of Clean Architecture in .NET platforms, specially when using Xamarin and a Reactive paradigm. Also to promote best practices on adaptive code and design principles like DRY, ETC and SOLID as it grows. I am a strong believer that these practices and architecture allow us to write scalable, testable, adaptable and maintainable applications.
I rant about the possible reasons we fail to implement SOLID and company successfully in my blog’s book review on Adaptive Code
I believe the main reason behind bad software design existance is we fail to communicate good software design. - Jorge Castro
Inspiration
CleanRx for .NET is inspired in other efforts on using modern Clean Architecture and SOLID principles in other platforms and general best practices in .NET / C#. I’ll give credit as much as I can but if you find something should be referenced properly let me know. The ideas exposed here and the samples will try to be original and evolve as my understanding of the concepts and practical experiences mature. However, I’m using as base any public resource I can find and synthesize concepts based on my readings taking the best of each one I have came across with regarding this subject.
On Clean Architecture
On Reactive Programming
- ReactiveX
- ReactiveUI
- Kent Boogaart’s book: You, I and Reactive UI
On Adaptive Code and SOLID principles
- Gary McLean Hall’s book: Adaptive Code: Agile coding with design patterns and SOLID principles
- In Defense of the SOLID Principles
On Support Patterns
- Prism Modularity
- Allan Ritchie’s Shiny samples / a good quality code case study