Trending News

Design Pattern

Factory Method Design Pattern

Factory Method ဆိုတာဘာလဲ။ (Objective) Interface တစ်ခု support လုပ်ပေးပြီးတော့ အဲ့ဒီ interface ကနေမှတစ်ဆင့် object တွေ create လုပ်နိုင်ပါတယ်။ create လုပ်ထားတဲ့ object type တွေကို subclass တွေမှလည်း တစ်ဆင့် ပြောင်းလဲခြင်းတွေပြုလုပ်နိုင်ပါတယ်။ ဒီလိုမျိုး object creations တွေပါလို့ factory method က creational design patterns category အောက်ကို ရောက်သွားပါမယ်။ ဘယ်လိုနေရာမှာအသုံးဝင်နိုင်လဲ။ (Usage) ဘယ်လိုနေရာမှာသုံးလဲ သိနိုင်ဖို့ ပထမဆုံး issue တစ်ခု sample…

Design Pattern

UML (Unified Modeling Language) – Part 4

Part 4 – Object & Interaction DiagramUML အကြောင်းရေးတာ အပိုင်း 4 ရောက်လာပါပြီ၊ နောက်ဆုံးအပိုင်းပေါ့။ ဒီအပိုင်းမှာ object & interaction diagram အကြောင်း ရေးပေးသွားပါမယ်။ စလိုက်ရအောင်။ Object DiagramObject နဲ့ Interaction Diagram က အရမ်းမရှုပ်ဘူး၊ Object Reference ဖြစ်သွားပြီဆို ဖြစ်သွားတဲ့ Object Instance တွေကို arrow နဲ့လိုက်ပြီး indicate လုပ်လိုက်ရုံပဲ။ သူ့ object diagram ရဲ့ naming convention ကတော့…

Design Pattern

UML (Unified Modeling Language) – Part 3

Part 3 – Relationship Notations (Aggregation & Instantiation) Aggregate Relationship Aggregate rs ဆိုတာက acquaintance rs နဲ့ဆင်တယ်၊ ဒါပေမယ့် သူက နည်းနည်းလေး ပို strong ဖြစ်တယ်လို့ သတ်မှတ်ထားပါတယ်။ GOF ထဲမှာပြောထားတာတော့ aggregate rs ကတစ်ခြား rs တွေထက်စာလို့ရှိရင် နည်းနည်းလေးနားလည်ရခက်နိုင်တယ်လို့ပြေထားတယ်။ သူ့အတွက်ဆိုပြီး သီးသန့် code နမူနာလည်းပြလို့မရဘူးတဲ့။ ဆိုတော့ ဒီနေရာမှာ ကျနော်တို့ aggregate rs ကိုနားလည်ဖို့ strategy pattern ကိုသွားကြည့်ကြပါမယ်။ strategy…

Design Pattern

UML (Unified Modeling Language) – Part 2

Relationship Notations (Acquaintance & Inheritance) Part 1 မှာတုန်းက Class Diagram အကြောင်းလေးနဲ့စပြီး intro ဝင်ခဲ့ပါတယ်၊ အခု part 2 မှာ အဲ့ဒီ diagram တွေမှာသုံးခဲ့တဲ့ notation လေးတွေအကြောင်းကို ရေးသွားပါမယ်။ အဓိက ကတော့ GoF (Gang of four) design pattern UML တွေကို reference လုပ်ထားတဲ့ notation တွေပါပဲ။ part 1 ဖတ်ထားဖို့လိုပါတယ်။ Part 1 link – https://www.aprogrammer.blog/2020/05/15/uml-1/…

Design Pattern

UML (Unified Modeling Language) – Part 1

အစတုန်းကတော့ UML အကြောင်းရေးဖို့ အစီအစဉ်မရှိဘူး၊ ဒါပေမယ့် တစ်ခုစဉ်းစားမိသွားတာက design pattern ပဲ learning လုပ်ချင်တာပဲဖြစ်ဖြစ် တစ်ခြားနေရာတော်တော်များများမှရော UML က အသုံးဝင်တဲ့အရာတစ်ခုဖြစ်လို့ သေသေချာချာ နားလည်ထားရင် အကျိုးရှိမယ်လို့ထင်လို့ ရေးဖြစ်သွားတာပါ၊ UML က perspective scope အမျိုးမျိုးအတွက်ရှိပေမယ့် ဒီ ဆောင်းပါးမှာ Design Pattern တည်ဆောက်တဲ့ UML scope ကိုပဲ focus လုပ်ပြီးရေးသွားပါမယ်။ ကျနော် ဖတ်ထားခဲ့တဲ့ Willian Sanders ရေးထားတဲ့ PHP Design Patterns စာအုပ်ထဲက Chapter 4…

Design Pattern

Interface & Abstract Class (Part 2)

Part 2 မှာတော့ abstract class အကြောင်းကို အဓိကထားပြီး PHP code examples တွေနဲ့ ပြောသွားမှာပဲဖြစ်ပါတယ်။ Part 2 ကိုမဖတ်ခင် part1 interface အကြောင်းကိုဖတ်ထားရင်ပိုကောင်းပါတယ်။ part 1 link အောက်မှာပါ။ https://bit.ly/2yT8W5f Abstract class မှာတော့ အနည်းဆုံး abstract method တစ်ခုပါရမယ်။ Interface နဲ့ မတူတာက abstract မှာ concrete method တွေပါရေးလို့ရတယ်။ class ထဲမှာ define လုပ်ထားတဲ့ abstract method တွေကို child…

Design Pattern

Interface & Abstract Class (Part 1)

ကျနော်ဒီနေ့ တော်တော်များများရောတတ်ကြတဲ့ OOP concept တွေထဲက interface နဲ့ abstract class အကြောင်းကိုပြောသွားမှာဖြစ်ပါတယ်။ ဆင်သယောင် ရှိပေမယ့်လို့ နှစ်ခုစလုံးရဲ့ purpose scope ကမတူကြပါဘူး။ code example တွေကိုတော့ PHP နဲ့ရေးသွားပါမယ်။ Part 1 မှာ Interface နဲ့ စလိုက်ရအောင်။ ဘာကြောင့် Interface လိုအပ်လဲပါထည့်ပြောသွားပါမယ်။ Interface တစ်ခု implement လုပ်တော့မယ်ဆို၊ interface ဆိုတဲ့ keyword သုံးတယ်၊ Interface ထဲမှာရှိတဲ့ method တွေက abstract method တွေဖြစ်ရမယ်၊…

Design Pattern

Design pattern ဆိုတာ

Design pattern ဆိုတာ ကျနော်တို့ software implementation လုပ်တဲ့အချိန်မှာ သင့်တော်ရင် သင့်တော်သလိုသုံးသွားဖို့၊ တစ်နည်းအားဖြင့်ပြောရရင် software design issue လေးတွေကို cover လုပ်ချင်လို့သုံးတယ်လို့ပြောလည်းရပါတယ်။ ဥပမာပြောရရင် problem A, B, C ရှိတယ်၊ problem A ကို solution လုပ်ပေးမယ့် Design Pattern A ဆိုတာရှိမယ်၊ B ရော C ရောထိုနည်းလည်းကောင်းပဲပေါ့၊ ဒါပေမယ့် pattern B ကို problem A ကိုသွားသုံးလို့မရဘူး။ ဘာလို့လဲဆိုတော့ design pattern…