Software Architecture Explained SIMPLY | MVP, MVC, MVVM | WORKING CLASS JAVA

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ก.พ. 2025
  • Project Repository: github.com/Bra...
    This video is a free preview from my Java course which contains just about everything I wish I was taught as a beginner Android and Java developer. In this lesson, I answer the most common question that I get on my livestreams. What is the best software architecture? Is it MVC, MVP, MVVM, or even MVI? The answer is actually simple, but will almost definitely surprise you.
    Hey! Did this FREE content help you? Likes, Subscribes, Follows and so on are all forms of digital currency. Help a brogrammer out:
    / rkay301
    / wiseassblog
    / wiseass301

ความคิดเห็น • 15

  • @user-zx8pk4qm3k
    @user-zx8pk4qm3k 4 ปีที่แล้ว +1

    This video made me realize more things than any youtube course.
    Thank you!

    • @wiseAss
      @wiseAss  4 ปีที่แล้ว +3

      I'm very glad to hear that. The sad truth about learning programming is that most people, even those who are great programmers, are really shitty at explaining these things. There are common principles to all software architectures and I sure wish someone had just explained that to me from the start.

  • @kavinduwimalasooriya7152
    @kavinduwimalasooriya7152 4 ปีที่แล้ว +1

    Great work sir,💪💪💪
    U teach me a huge lesson in 10 minutes....
    Awesome ❤

  • @Rajmanov
    @Rajmanov 4 ปีที่แล้ว +1

    I really cannot understand why you don't have More subs.

  • @luthiers5488
    @luthiers5488 4 ปีที่แล้ว +2

    Can you please make a video on maybe a small application on which you would use those different methods like for example how can it be done in MVVM MVC and in Clean Architecture? Awesome videos I’ve been a fan of yours many years ago

    • @wiseAss
      @wiseAss  4 ปีที่แล้ว +1

      Hmm, I would like to but I am not sure how to approach that topic from a pedagogical standpoint. What determines whether a given pattern such as MVVM is suitable for a given program, depends on a lot of different factors:
      1. Personal preferences/knowledge on testing
      2. Personal preferences/knowledge on abstraction
      3. Personal preferences/knowledge on separation of concerns/software architecture
      4. Personal preferences/knowledge on Libraries/APIs
      5. Operating System/Platform
      6. Language
      7. The complexity of the application/feature you are building
      So for example, I could explain to you that I find MVVM horrible for application features (parts of the UI) which are complex (i.e. lots of Presentation Logic), because a ViewModel cannot, by definition, be both decoupled from the details of a single View (common design goal of MVVM), and still have fine-grained control of a specific View. It is for this reason that you will see different versions of "MVVM" which are either MVP + Observer Pattern instead of the Presenter directly talking to the View, or you will see a very clean and simple ViewModel with a View which is LOADED with Presentation Logic, or something half way between those. But the thing is, none of those solutions work for me because I care about separation of concerns and testing my code. For that reason I typically use something which is like "MVP + VM", which is nothing more than me applying separation of concerns to my code and seeing that in complex features I often want BOTH a Presenter and a ViewModel.
      Anyways, I think this is a very good and important question to ask, but the answers are unfortunately highly subjective and case by case. TH-cam doesn't do SHIT for me when it comes to these hyper specific videos, so I will have to prioritize other things. Still, I hope I at least answered your question in part. If you haven't read it already, I did such an analysis on MVVM:
      medium.com/@rkay301/mvvm-on-android-kinda-awkward-tbh-8db78a88f056

    • @luthiers5488
      @luthiers5488 4 ปีที่แล้ว +1

      @@wiseAss Makes a lot of sense! I'm also trying to take apart each architecture and try to extract the best of each one in order to create a more suitable architecture for a project, thanks a lot!!! You're awesome

  • @pejamestuguinay9543
    @pejamestuguinay9543 3 ปีที่แล้ว

    I rarely comment but I Thank you and may God Bless you!

    • @wiseAss
      @wiseAss  3 ปีที่แล้ว

      Glad you enjoyed the video

  • @dennisgonzales9521
    @dennisgonzales9521 4 ปีที่แล้ว

    Awesome!

  • @jutyarnerway9416
    @jutyarnerway9416 3 ปีที่แล้ว

    Great pedagogy.
    That dislike though.. Why?

  • @johannesbakary9605
    @johannesbakary9605 4 ปีที่แล้ว

    Yo brother, add some more title to your coding music playlist. I dig it

    • @wiseAss
      @wiseAss  4 ปีที่แล้ว +1

      Will do man; glad you enjoyed it.

    • @johannesbakary9605
      @johannesbakary9605 4 ปีที่แล้ว

      @@wiseAss sweet

  • @bellefille8719
    @bellefille8719 4 ปีที่แล้ว

    Hi ,please pot more live coding for java ... :))) thank you