Patterns နှိုင်းယှဉ်ချက်
ဘယ် Pattern က အကောင်းဆုံးလဲလို့ မေးရင်၊ အဖြေကတော့ “ကိုယ့် Project ရဲ့ လိုအပ်ချက်ပေါ် မူတည်ပါတယ်”။
နှိုင်းယှဉ်ချက် ဇယား
Section titled “နှိုင်းယှဉ်ချက် ဇယား”| Pattern | အဓိက ထိန်းချုပ်သူ (Boss) | Data ချိတ်ဆက်ပုံ | ဘယ်နေရာတွေမှာ သုံးလေ့ရှိလဲ? |
|---|---|---|---|
| MVC | Controller | Manual (Controller ကနေ ကိုယ်တိုင် ချိတ်ဆက်ပေးရတယ်) | Backend Frameworks (ဥပမာ - Laravel, Ruby on Rails) |
| MVP | Presenter | Manual (Presenter က အစအဆုံး အကုန်လုပ်ပေးရတယ်) | Desktop Apps, အရင်ခေတ် Android Apps |
| MVVM | ViewModel | Automatic (Data Binding နဲ့ အလိုအလျောက် ချိတ်ဆက်တယ်) | Modern Frontend (ဥပမာ - Vue, Angular, React*) |
*မှတ်ချက်: React က တိတိကျကျ ပြောရရင် MVVM အစစ် မဟုတ်ပါဘူး။ “Component-Based” လို့ ခေါ်ပါတယ်။ ဒါပေမဲ့ အလုပ်လုပ်တဲ့ သဘောတရား Concept ကတော့ MVVM နဲ့ အရမ်း ဆင်တူပါတယ်။
ဘာကြောင့် MV* Patterns တွေကို သုံးရတာလဲ?
Section titled “ဘာကြောင့် MV* Patterns တွေကို သုံးရတာလဲ?”- Separation of Concerns (တာဝန်ခွဲဝေခြင်း): “ထမင်းချက်တဲ့သူ” နဲ့ “ဧည့်ခံတဲ့သူ” ရဲ့ အလုပ်ကို သေချာ ခွဲခြားထားချင်လို့ပါ။ (Logic နဲ့ UI ကို တစ်နေရာတည်းမှာ မရောချင်လို့ပါ)
- Testability (စမ်းသပ်ရ လွယ်ကူခြင်း): UI တွေ မပါဘဲနဲ့၊ နောက်ကွယ်က Logic သက်သက်ကိုပဲ စမ်းသပ်စစ်ဆေး (Testing လုပ်) ရတာ အရမ်း လွယ်ကူစေပါတယ်။
- Maintainability (ပြုပြင်ထိန်းသိမ်းရ လွယ်ကူခြင်း): Code တွေ ရှင်းလင်းသွားတဲ့အတွက် နောက်ပိုင်းမှာ ပြင်ဆင်ရတာ၊ အဆင့်မြှင့်တင်ရတာတွေ လွယ်ကူစေပါတယ်။