Skip to content
GitHub

Architecture ကို မြင်သာအောင် ကြည့်ခြင်း - The C4 Model

ပုံကြမ်းကောင်းတွေ ဘာကြောင့် အရေးကြီးသလဲ?

Section titled “ပုံကြမ်းကောင်းတွေ ဘာကြောင့် အရေးကြီးသလဲ?”

Software လောကမှာ အမြဲကြုံရတာက “ဆွဲတဲ့လူ တစ်ယောက်ပဲ နားလည်တဲ့ Whiteboard ပေါ်က ပုံကြမ်းရှုပ်ရှုပ်တွေ” ပါပဲ။ တကယ်တော့ Architecture ပုံကြမ်းဆိုတာ သူများကို ရှင်းပြဖို့ (Communication လုပ်ဖို့) ပါ။ ပုံကြမ်းကောင်းတစ်ခုဟာ နည်းပညာမသိတဲ့ Business သမားတွေရော၊ အသစ်ရောက်လာတဲ့ Developer တွေပါ System ကြီး အလုပ်လုပ်ပုံကို ချက်ချင်းနားလည်သွားအောင် ကူညီပေးနိုင်ပါတယ်။

The C4 Model: ကိုယ့် Code အတွက် Google Maps

Section titled “The C4 Model: ကိုယ့် Code အတွက် Google Maps”

C4 Model ဆိုတာ Software ရဲ့ တည်ဆောက်ပုံကို မြေပုံကြည့်သလို အဆင့်ဆင့် (Zoom In / Zoom Out လုပ်ပြီး) ဆွဲတဲ့နည်းလမ်းပါ။ ကြည့်ချင်တဲ့ အသေးစိတ်အဆင့် (Level) ပေါ်မူတည်ပြီး ပုံကြမ်း ၄ မျိုး ရှိပါတယ်။

အဆင့် 1: System Context Diagram (ကမ္ဘာ့မြေပုံ)

Section titled “အဆင့် 1: System Context Diagram (ကမ္ဘာ့မြေပုံ)”
  • ဘာကိုပြသလဲ: System ကြီးတစ်ခုလုံးကို အလယ်မှာ ဘောက်စ် (Box) တစ်ခုတည်းနဲ့ ပြပါတယ်။ ပြီးတော့ အဲ့ဒီ System ကို ဘယ်သူတွေက သုံးနေလဲ၊ တခြား ဘယ်ပြင်ပ System တွေနဲ့ ချိတ်ဆက်ထားလဲ ဆိုတာကို အကြမ်းဖျင်း ပြသပါတယ်။
  • ဘယ်သူတွေအတွက်လဲ: နည်းပညာမသိတဲ့ Business သမားတွေ အပါအဝင် လူတိုင်းအတွက် ဖြစ်ပါတယ်။

အဆင့် 2: Container Diagram (နိုင်ငံမြေပုံ)

Section titled “အဆင့် 2: Container Diagram (နိုင်ငံမြေပုံ)”
  • ဘာကိုပြသလဲ: စောစောက အလယ်က ဘောက်စ်ကြီးကို ချဲ့ (Zoom In) ကြည့်လိုက်တာပါ။ အထဲမှာပါတဲ့ အဓိက အစိတ်အပိုင်းကြီးတွေကို ပြသပါတယ်။ ဒီနေရာမှာ Container ဆိုတာ Docker ကို ပြောတာမဟုတ်ဘဲ Web App၊ Mobile App၊ Database၊ API စတဲ့ သီးခြား Run လို့ရတဲ့ အပိုင်းကြီးတွေကို ဆိုလိုပါတယ်။
  • ဘယ်သူတွေအတွက်လဲ: Developer တွေနဲ့ System ကို ထိန်းသိမ်းရတဲ့ Operations Team တွေအတွက် ဖြစ်ပါတယ်။

အဆင့် 3: Component Diagram (မြို့ပြမြေပုံ)

Section titled “အဆင့် 3: Component Diagram (မြို့ပြမြေပုံ)”
  • ဘာကိုပြသလဲ: Container တစ်ခု (ဥပမာ - API Service) ကို ထပ်ချဲ့ကြည့်တာပါ။ အဲ့ဒီ API Service ထဲမှာမှ ဘယ်လို Module တွေ၊ Component တွေနဲ့ ဖွဲ့စည်းထားလဲဆိုတာကို အသေးစိတ် ပြသပါတယ်။
  • ဘယ်သူတွေအတွက်လဲ: အဲ့ဒီ သီးခြား Service ကို ကိုင်တွယ်ရေးသားမယ့် Developer တွေအတွက် ဖြစ်ပါတယ်။

အဆင့် 4: Code Diagram (လမ်းမမြင်ကွင်း) - Optional

Section titled “အဆင့် 4: Code Diagram (လမ်းမမြင်ကွင်း) - Optional”
  • ဘာကိုပြသလဲ: ဒီအဆင့်ကတော့ မဖြစ်မနေ ဆွဲဖို့မလိုပါဘူး။ Component တစ်ခုချင်းစီကို ဘယ်လို Class တွေ၊ Method တွေနဲ့ ရေးထားလဲဆိုတာကို အသေးစိတ်ဆုံး ဆွဲပြတဲ့ပုံ (ဥပမာ - Class Diagram) မျိုး ဖြစ်ပါတယ်။
C4 architecture