Tag Archives: Awesome

Why MVVM is Awesome!

I used to be a code behind event driven loving developer! but since I found MVVM, I never looked back, MVVM all the way!

From Code-behind Event-driven addict to MVVM fanatic…

So for a developer who’s coming from a code behind event based implementation loving developer, I understand, adopting MVVM to your application could be pretty confusing and hectic at the beginning!

Because I know it very well by my own experience, whereas I used to be a stubborn noob developer in the good old days thinking Event Driven WinForms approach is the best way to developer software. Which led me to suffocate massively when the code base got bigger and bigger, having massive hard time debugging, maintaining and even upgrading programs I was coding. Honestly I couldn’t understand the cause for this at the beginning due to my stubborn mindset of praising code-behind even driven programming style.

Step 1:

Then when I got into my career I had to force myself to start using MVVM based implementation. And yes it was super confusing and troublesome to understand.

Step 2:

But trust me after a while, step by step,  you start to see how fun it is, makes you feel like wiring up some electronic circuit to get it to work, how all those components gets wired up each other while still having the modules separately.

Step 3:

And you will notice how easy it is to maintain and extend your code base… 😉

Short and sweet,

MVVM stands for Model View View-Model

and it’s AWESOME!

Here is why?

  • MVVM enable true separation between your User Interface(Views) and Logical Code(ViewModel/ Model)! Yes decoupling is ghuuud!
  • Easily handle events with Commands – ICommand
  • Never underestimate the power of INotifyPropertyChanged
  • Take the best use of Binding (View to ViewModel properties)
  • With ViewModel you can easily manipulate Model’s data as you wish and set them to be bound to any Views as you wish and vice versa. Yes it’s that flexible!
  • Yes, the ultimate portability of your project’s components
  • Testing made super easy as the separation between UI and Code behind logic
  • Extremely ease of maintenance and adding changes to your code base

So there you go, a short and sweet post I made during my free time! 😀

hope it helped anyone or may be inspired someone to make the switch! 😉


Just a moment before the Graduation…. ;)

And the day is finally here, officially

Graduating in BENG(Hons) Software Engineering (Second Class First Division) ! xD

Reminds me of the very humble beginning of this dream, when I decided to drop off from my A/Ls Mathematics stream after 6 months of time waste…

When I decided to chase my dream, my passion for technology and innovation, that desperate need of achieving my goal…

Whereas most of my school friends got rid of me thinking that I’m a loser to skip the time waste of A/Ls and jump start my Undergraduate studies, even though they didn’t even know the meaning of what a “Degree” was back then ! 😛 (Seriously everyone thought, I was doing a computer diploma even though I tried to explain that I’m studying for a degree lol) When they were going for Tuition classes I was going for undergraduate Lectures, which I still remember most of them ignored me even in the buses ! 😀 lol

Well after all the hard work and incredible journey of over 3 years end, while my old school friends are still doing CIMA, SIM and all the typical lame courses you do when you waste your life with A/Ls, and trying to find their way… here I am,

Right after my final exams, I got recruited as

a Software Engineer by one of the top IT companies in Sri Lanka just by the age of 21, earning piles of money each month since then, and living my Dream to the fullest ! ^_^

Never underestimate the power of a passionate crazy Dreamer ! 😉