Skip to content
GitHub

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

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

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

Section titled “နှိုင်းယှဉ်ချက် ဇယား”
Patternအဓိက မင်းသားData ချိတ်ဆက်ပုံဘယ်မှာ သုံးလဲ?
MVCControllerManual (Controller က လုပ်ပေးရ)Backend Frameworks (Laravel, Rails)
MVPPresenterManual (Presenter က အကုန်လုပ်)Desktop Apps, Legacy Android
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 သက်သက်ကို စစ်ဆေးရ လွယ်ကူစေပါတယ်။
  3. Maintainability: ကုဒ်တွေ ရှင်းလင်းပြီး ပြင်ဆင်ရ လွယ်ကူစေပါတယ်။
PatternLogicData ချိတ်ဆက်ပုံအသုံးပြုရန် သင့်တော်သည့်နေရာ
MVCControllerManualUI သိပ်မရှုပ်ထွေးတဲ့ app အသေးများ
MVVMViewModelAutomaticDynamic UI နှင့် two-way binding လိုအပ်သော app များ
MVPPresenterManualUI ကို တိုက်ရိုက်ထိန်းချုပ်လိုသော app များ

Frontend မှာ MV Pattern တွေကို ဘာကြောင့်သုံးသင့်လဲ

Section titled “Frontend မှာ MV Pattern တွေကို ဘာကြောင့်သုံးသင့်လဲ”
  • တာဝန်ခွဲဝေနိုင်ခြင်း - UI, data နဲ့ logic ကို သီးခြားစီခွဲထားနိုင်တယ်။

  • ထိန်းသိမ်းရလွယ်ကူခြင်း - App တစ်ခုလုံးကို မထိခိုက်စေဘဲ အစိတ်အပိုင်းတွေကို ပြင်ဆင်ရ၊ အစားထိုးရ လွယ်ကူတယ်။

  • Test လုပ်ရလွယ်ကူခြင်း - Layer တစ်ခုချင်းစီကို သီးခြားစီ test လုပ်နိုင်တယ်။

  • တိုးချဲ့ရလွယ်ကူခြင်း - Application အကြီးကြီးတွေကို ထိထိရောက်ရောက် စုဖွဲ့နိုင်တယ်။