Skip to content
GitHub

Patterns နှိုင်းယှဉ်ချက်

ဘယ် Pattern က အကောင်းဆုံးလဲလို့ မေးရင်၊ အဖြေကတော့ “ကိုယ့် Project ရဲ့ လိုအပ်ချက်ပေါ် မူတည်ပါတယ်”

နှိုင်းယှဉ်ချက် ဇယား

Section titled “နှိုင်းယှဉ်ချက် ဇယား”
Patternအဓိက ထိန်းချုပ်သူ (Boss)Data ချိတ်ဆက်ပုံဘယ်နေရာတွေမှာ သုံးလေ့ရှိလဲ?
MVCControllerManual (Controller ကနေ ကိုယ်တိုင် ချိတ်ဆက်ပေးရတယ်)Backend Frameworks (ဥပမာ - Laravel, Ruby on Rails)
MVPPresenterManual (Presenter က အစအဆုံး အကုန်လုပ်ပေးရတယ်)Desktop Apps, အရင်ခေတ် Android Apps
MVVMViewModelAutomatic (Data Binding နဲ့ အလိုအလျောက် ချိတ်ဆက်တယ်)Modern Frontend (ဥပမာ - Vue, Angular, React*)

*မှတ်ချက်: React က တိတိကျကျ ပြောရရင် MVVM အစစ် မဟုတ်ပါဘူး။ “Component-Based” လို့ ခေါ်ပါတယ်။ ဒါပေမဲ့ အလုပ်လုပ်တဲ့ သဘောတရား Concept ကတော့ MVVM နဲ့ အရမ်း ဆင်တူပါတယ်။

ဘာကြောင့် MV* Patterns တွေကို သုံးရတာလဲ?

Section titled “ဘာကြောင့် MV* Patterns တွေကို သုံးရတာလဲ?”
  1. Separation of Concerns (တာဝန်ခွဲဝေခြင်း): “ထမင်းချက်တဲ့သူ” နဲ့ “ဧည့်ခံတဲ့သူ” ရဲ့ အလုပ်ကို သေချာ ခွဲခြားထားချင်လို့ပါ။ (Logic နဲ့ UI ကို တစ်နေရာတည်းမှာ မရောချင်လို့ပါ)
  2. Testability (စမ်းသပ်ရ လွယ်ကူခြင်း): UI တွေ မပါဘဲနဲ့၊ နောက်ကွယ်က Logic သက်သက်ကိုပဲ စမ်းသပ်စစ်ဆေး (Testing လုပ်) ရတာ အရမ်း လွယ်ကူစေပါတယ်။
  3. Maintainability (ပြုပြင်ထိန်းသိမ်းရ လွယ်ကူခြင်း): Code တွေ ရှင်းလင်းသွားတဲ့အတွက် နောက်ပိုင်းမှာ ပြင်ဆင်ရတာ၊ အဆင့်မြှင့်တင်ရတာတွေ လွယ်ကူစေပါတယ်။