Clean Architecture in Android in 5 minutes

Поделиться
HTML-код
  • Опубликовано: 28 янв 2025

Комментарии • 38

  • @DanielIderiba
    @DanielIderiba Год назад +4

    Thank you for the video. Your explanation was quite clear despite the content being quite complex. I confess I must see the video 2 or 3x to absorb the content. Helped a lot!

  • @sulemankhan523
    @sulemankhan523 Год назад +6

    Thanks for the great explanation
    Also autogenerated subtitles are perfect in your videos, thats really great too

    • @Renaro
      @Renaro  Год назад

      Glad to read this!

  • @sebastianvargas2517
    @sebastianvargas2517 Год назад +2

    Hey Renaro, great video! Thanks for explaining it so simple!

  • @cosmicdioxide
    @cosmicdioxide 6 месяцев назад

    Wow thank you! Such compact yet very clear explanation

  • @rithulraj3348
    @rithulraj3348 Год назад +2

    Where should we put service, broadcast receiver, work manager etc

    • @Renaro
      @Renaro  Год назад +1

      They are the implementation details of "a repository" so they should go in the data/repository layer

  • @abhasarya7152
    @abhasarya7152 Год назад +2

    wow, fantastic explanation!

    • @Renaro
      @Renaro  Год назад

      Glad to read!

  • @Renaro
    @Renaro  2 года назад

    Hey people! In my next videos I will make a challenge with 3 of my subscribers. The winner will get 200 US$. If you want to participate, add me on LinkedIn. First come, first served.

  • @EricWalker-i4u
    @EricWalker-i4u Месяц назад +1

    Really good video. You almost made it until you got to the data layer. The details and conformance to the contracts defined in the domain layer should NOT live in the center of the onion. that is a violation of CLEAN which dictates that dependencies flow in and external concrete implementations that depend on external resources for instance live on the outside of the onion, on the edges.

    • @Renaro
      @Renaro  Месяц назад

      @@EricWalker-i4u the details of the implementatation ate not in the center of the architecture but in the outer most layer, the data layer, or did I miss something?

  • @ArturoDevA
    @ArturoDevA Год назад +1

    no deberia haber ninguna instancia de un repository en el viewmodel, ya que es el caso de uso quien se comunica con el repository

    • @Renaro
      @Renaro  Год назад

      Good point, very often Use Cases does nothing but call the repositories, if there is no "use case" for a use case then there is no problem having a repository in the viewModel, as long as the repository is an interface

  • @mohamedkissicamara7518
    @mohamedkissicamara7518 2 года назад +2

    Nice Video you just gained a sub

    • @Renaro
      @Renaro  2 года назад

      Glad you liked!

  • @rijalmyd
    @rijalmyd 2 года назад +1

    Hai, sir. Could you give a simple example using Single Event for live data with Repository?

    • @Renaro
      @Renaro  2 года назад

      In the description I added a sample project, what are you looking for exactly?

  • @АлександрБауэр-о4й

    Stop calling Android architecture principles from google documentation "Clean architecture". Android documentation make it clear that your data layer is the most important/source of truth etc.
    In real clean architecture you make Repository an interface located in domain layer. That way you follow Inversion of Control principle to make domain the most important layer in your application. It is very frustrating and brings a lot of confusion. By the way it does not mean that architecture in your video aka Google recommended architecture is wrong, it is just not Clean Architecture from Uncle Bob book.

    • @jackeblan
      @jackeblan 10 месяцев назад

      I agree. This is not Uncle Bob's CA. This is just a modified MVVM.

  • @jackli1924
    @jackli1924 10 месяцев назад +1

    awsome!cool!

  • @nguyencodervn
    @nguyencodervn 2 года назад +1

    THANK YOU

    • @Renaro
      @Renaro  2 года назад

      Happy that you liked it

  • @aneeshpeakpointz
    @aneeshpeakpointz 2 года назад +2

    Great video nicely explained ❤️

  • @pryscilla.rodrigues
    @pryscilla.rodrigues 2 года назад +1

    Nice video!

    • @Renaro
      @Renaro  2 года назад

      thanks! :)

  • @neldse
    @neldse 2 года назад +1

    Ideally usecases shouldn't depend on each other.

    • @Renaro
      @Renaro  2 года назад

      I think you are right, then changing one use case might affect others...

    • @Abhishekdubey-mn8up
      @Abhishekdubey-mn8up 2 года назад

      Use cases can depend on each other.
      As per Google recommendation in MAD skills architecture video with domain layer.

    • @neldse
      @neldse 2 года назад +2

      @@Abhishekdubey-mn8up They are wrong you shouldn't do that. Imagine a scenario where you change the behavior of one usecase then you might have to alter the calling usecase as well. Follow the clean architecture and solid principles not the MAD skill

    • @Renaro
      @Renaro  2 года назад

      I think both points are valid, in some cases it might be useful and desired to change the behaviour of all use cases that use some use case, otherwise we would have to duplicate the code. But you do have a point that we should be aware of this dependency and when it might not be desired.

  • @AkashJhaDDN
    @AkashJhaDDN 22 часа назад

    Awsome

  • @jmorasot
    @jmorasot 2 года назад +3

    Hey bro, nice video, could you add references of your info? Also could you create videos of unit testing and clean architecture, please? Thanks a lot!

    • @Renaro
      @Renaro  2 года назад +1

      I am glad you liked. The ideas came from this book: Clean Architecture: A Craftsman's Guide to Software Structure and Design, really recommend.
      I will try to create some videos about unit testing, I explain about it in the course(description) but I do not have some videos about it yet.

    • @jmorasot
      @jmorasot 2 года назад +1

      Great work, I’m going to check that book and some testing in your channel will be awesome.
      Thanks for take time to answer!

  • @name1566
    @name1566 Год назад

    Understood

  • @subodhrai1988
    @subodhrai1988 2 года назад +1

    awesome