Clean architecture

Clean architecture

Some insights on how we use Clean Architecture principles at Trivago, in the Android team.

6b032033570c0e155f0e6015d0ada55b?s=128

RafaelOrtega

July 28, 2017
Tweet

Transcript

  1. Clean architecture: Decision making

  2. @AdamHarazim @ortiOficial

  3. Team Android

  4. Agenda 1. What is it 2. Forget the Framework! 3.

    Examples
  5. What is it?

  6. None
  7. • Hexagonal architecture • Onion software • Screaming architecture -

    Fixed rules - Specific rules - Silver bullet
  8. • Independent from libraries • Testability • Flexibility • Scalability

    • Separation of concerns • Dependency management • Code & model replication + mappers • Overengineering
  9. Forget the Framework!

  10. None
  11. Screaming architecture – Android

  12. Screaming architecture – clean architecture

  13. Screaming architecture – our solution

  14. Screaming architecture – our solution

  15. Examples

  16. MVVM

  17. MVVM - Testing

  18. Repositories

  19. Sum up • No silver bullets • Write code for

    your colleages, not for the machine • Do not overengineer
  20. Resources https://8thlight.com/blog/uncle-bob/2011/09/30/Screaming-Architecture.html https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html http://tech.trivago.com/2017/01/30/reportoire-the-journey-to-data-source-independency/

  21. Thank you!