Modular Architecture ရဲ့ အားသာချက်များ
Modular Architecture ကို သုံးလိုက်ရင် ဘာတွေ ထူးခြားသွားမလဲဆိုတာ ကြည့်ရအောင်။
၁။ Scalability (တိုးချဲ့ရ လွယ်ကူခြင်း)
Section titled “၁။ Scalability (တိုးချဲ့ရ လွယ်ကူခြင်း)”အိမ်တစ်လုံးမှာ အခန်းအသစ် ထပ်ဆောက်သလိုပါပဲ။ ကိုယ့် Website မှာ Blog ဆိုတဲ့ Feature အသစ် ထည့်ချင်တယ်ဆိုရင် Blog Module တစ်ခု သီးသန့်ဆောက်ပြီး ထည့်လိုက်ရုံပါပဲ။ ရှိပြီးသား User Module တို့ Product Module တို့ကို သွားပြီး ထိခိုက်စရာ၊ ပြင်စရာ မလိုပါဘူး။
၂။ Maintainability (ပြုပြင်ထိန်းသိမ်းရ လွယ်ကူခြင်း)
Section titled “၂။ Maintainability (ပြုပြင်ထိန်းသိမ်းရ လွယ်ကူခြင်း)”Bug တစ်ခု တက်ပြီ ဆိုပါစို့။ “Cart ထဲ ပစ္စည်းထည့်လို့ မရဘူး” ဆိုတဲ့ ပြဿနာပေါ်လာရင်၊ Cart Module ကိုပဲ တန်းသွားကြည့်လိုက်ရင် ပြီးပါပြီ။ Project ကြီးတစ်ခုလုံး အနှံ့ လိုက်ရှာနေစရာ မလိုတော့ပါဘူး။
၃။ Team Collaboration (ပူးပေါင်းဆောင်ရွက်မှု)
Section titled “၃။ Team Collaboration (ပူးပေါင်းဆောင်ရွက်မှု)”Team အရွယ်အစား ကြီးလာတဲ့အခါ လူတွေ အများကြီးနဲ့ အလုပ်လုပ်ရပါတယ်။
- Team A က
CheckoutModule ကို တာဝန်ယူမယ်။ - Team B က
ProfileModule ကို တာဝန်ယူမယ်။ ဘယ်သူက ဘယ်နယ်နိမိတ်ကို တာဝန်ယူရမလဲ ရှင်းလင်းသွားတဲ့အတွက် Code တွေ ငြိတာ၊ တစ်ယောက်ရေးတာ တစ်ယောက် သွားဖျက်မိတာ (Merge Conflict) တွေ အရမ်း နည်းသွားပါတယ်။
လက်တွေ့ Project တွင် အသုံးပြုပုံ (Folder Structure)
Section titled “လက်တွေ့ Project တွင် အသုံးပြုပုံ (Folder Structure)”Project အကြီးကြီးတွေမှာ Component အားလုံးကို components ဆိုတဲ့ Folder တစ်ခုတည်းမှာ အကုန်ပြုံထည့်လေ့ မရှိပါဘူး။ Feature အလိုက် (Feature-based) ခွဲပြီး ဖွဲ့စည်းကြပါတယ်။
src/ features/ auth/ (Auth နဲ့ဆိုင်တဲ့ Module) components/ hooks/ services/ product/ (Product နဲ့ဆိုင်တဲ့ Module) components/ hooks/ services/ cart/ (Cart နဲ့ဆိုင်တဲ့ Module) components/ hooks/ services/ဒီလို သေသေချာချာ ခွဲထားလိုက်ရင် Auth နဲ့ ပတ်သက်တာ မှန်သမျှ auth Folder အောက်မှာပဲ ရှိနေမှာဖြစ်လို့၊ ရှာရဖွေရ လွယ်ကူသွားပါတယ်။