Movies Finder clean architecture

Hello everyone!! I recently started an open-source project based on Clean architecture for Android. I would like to share it with you, and looking forward to see contributors. My motto with this blog is to start collaborating at my spare time with the community and trying to help at the same time than learning myself about different topics.

Overview

I would like to show you the project: Movies Finder on GitHub.

I am explaining further details at the README file about the project itself.

But at this post, I would introduce you a little bit about my background regarding clean architecture.

Firstly, I would mention that I am trying to practice clean architecture from March 2015, when I discovered this approach and colleague and I at work, decide that it was really helpful for maintainable projects.

Why?

Because, despite clean architecture is not an easy subject a first time you try it, at the end it solves in a very structured way, certain complex problems as well as supports a team to make structured code with a solid and clean architecture which really worths it, mainly following a SOLID approach.

SOLID principles

  • The Single Responsibility Principle, “A class should have one, and only one, reason to change.”
  • The Open Closed Principle, “You should be able to extend a classes behavior, without modifying it.”
  • The Liskov Substitution Principle, “Derived classes must be substitutable for their base classes.” see also Design by contract
  • The Interface Segregation Principle, “Make fine grained interfaces that are client specific.”
  • The Dependency Inversion Principle, “Depend on abstractions, not on concretions.”

Tests

Moreover, as an added value, this would make tests easier, which in the end is what everyones want. To be able to test easily and sleep well at night. Note: I have to confess that at this iteration about this small project, there are not tests, but I am expecting to add them little by little.

Contributions are welcome

I hope this small contribution to the community would like you, and enjoy it as much as I did when I created it. Waiting for your comments, contributions and suggestions though!

References

Written on July 2, 2016