Skip to content
GitHub

Monolith ကို စနစ်တကျတည်ဆောက်ခြင်း - Layered (N-Tier) Architecture

ရှုပ်ထွေးမှုတွေကို စနစ်တကျဖြစ်အောင် စီစဉ်ခြင်း

Section titled “ရှုပ်ထွေးမှုတွေကို စနစ်တကျဖြစ်အောင် စီစဉ်ခြင်း”

Monolith တစ်ခုက လုံးဝရှုပ်ပွနေရမယ်လို့ မဆိုလိုပါဘူး။ Layered Architecture (N-Tier Architecture လို့လည်းခေါ်တယ်) ဆိုတာ Monolith တစ်ခုအတွင်းက code တွေကို စနစ်တကျဖြစ်အောင် စီစဉ်ဖို့သုံးတဲ့ အလွန်အသုံးများတဲ့ pattern တစ်ခုပါ။ သူက code တွေကို သူတို့ရဲ့ တာဝန်အလိုက် သီးခြားအလွှာတွေ (layers) အဖြစ် ခွဲခြားပေးပါတယ်။

အလွှာတွေကို ရှင်းပြခြင်း

Section titled “အလွှာတွေကို ရှင်းပြခြင်း”

ပုံမှန် web application တစ်ခုမှာ အဓိကအလွှာ သုံးခုရှိပါတယ်:

  • Presentation Layer (UI): ဒါက user တွေမြင်တွေ့ထိတွေ့ရတဲ့ အလွှာပါ။ User ရဲ့ browser ထဲမှာ run တဲ့ HTML, CSS, နဲ့ frontend JavaScript တွေပါဝင်တယ်။ သူ့ရဲ့အလုပ်က data တွေကို ပြသဖို့နဲ့ user input တွေကို ဖမ်းယူဖို့ပါပဲ။

  • Business Logic Layer (Application Layer): ဒါက application ရဲ့ “ဦးနှောက်” ပါ။ အဓိက business rule တွေ၊ logic တွေ၊ workflow တွေပါဝင်တယ်။ သူက UI ကနေလာတဲ့ user request တွေကို process လုပ်တာ၊ ဆုံးဖြတ်ချက်ချတာ၊ data layer နဲ့ ချိတ်ဆက်ညှိနှိုင်းတာတွေ လုပ်ပါတယ်။

  • Data Access Layer (Persistence Layer): ဒီအလွှာရဲ့ တစ်ခုတည်းသောတာဝန်က database နဲ့ ဆက်သွယ်ဖို့ပါပဲ။ သူက data တွေကို ဖတ်တာ၊ ရေးတာအားလုံး (ဥပမာ - SQL query တွေ) ကို ကိုင်တွယ်ပါတယ်။

Layer တွေရဲ့ ရွှေစည်းမျဉ်း (The Golden Rule of Layers)

Section titled “Layer တွေရဲ့ ရွှေစည်းမျဉ်း (The Golden Rule of Layers)”

အရေးအကြီးဆုံးစည်းမျဉ်းကတော့ အလွှာတွေက တစ်လမ်းသွားဆက်သွယ်မှုပုံစံ (one-way communication) ရှိသင့်တယ်ဆိုတာပါပဲ။ အလွှာတစ်ခုက သူ့ရဲ့ တိုက်ရိုက်အောက်က အလွှာကိုပဲ စကားပြောသင့်ပါတယ်။

  • Presentation Layer က Business Logic Layer ကို စကားပြောတယ်။
  • Business Logic Layer က Data Access Layer ကို စကားပြောတယ်။

အရမ်းအရေးကြီးတာက Presentation Layer က Data Access Layer ကို တိုက်ရိုက် ဘယ်တော့မှ စကားမပြောသင့်ပါဘူး။

ဒီလိုခွဲခြားထားခြင်းက code တွေ ရှုပ်ထွေးနေတာကို ကာကွယ်ပေးပြီး system ကို ပြင်ဆင်ထိန်းသိမ်းရတာ အလွန်လွယ်ကူစေပါတယ်။

Layered Architecture