ကျွန်တော်တို့ နေ့စဥ် အပလီကေးရှင်းများ ရေးသားစဉ် ကြုံတွေ့လေ့ရှိသော ပြဿနာများရှိတတ်ကြပါသည်။ ယခင်ကတည်းကလည်း အလားတူ အပလီများကို ရေးသားပြီး ဖြစ်နေလေ့ရှိတတ်ပါသည်။ ထိုကြောင့် ကျွန်တော်တို့ ကြုံတွေ့လေ့ရှိသော ပြဿနာများကို လည် ယခင်လူများလည်း တွေ့ကြုံပြီး ဖြစ်နေတတ်ပါသည်။ ထိုစဥ်က ထိုပြဿနာများကို ဖြေရှင်းခဲ့သော နည်းလမ်းများလဲ ရှိခဲ့ကြပါသည်။
ပြဿနာပုံစံတစ်ခုခုအတွက် ဖြေရှင်းနည်း တစ်ခုခုဖြင့် ဖြေရှင်းခဲ့ကြမည်မှာ မလွဲပေ။ ထိုကဲ့သို့ ပြဿနာများအား ထိုကဲ့သို့ဖြေရှင်းခဲ့ကြသည်ဟု ဖေါ်ပြထားသေား နည်းလမ်းများမှာ Design Pattern များပင်ဖြစ်ကြသည်။
OOP Program များအား ရေးသားရာတွင် Object များ အကြားရှိ Relationship များကြေင့် ကြုံတွေ့လေ့ရှိသော ပြဿနာများနှင့် ဖြေရှင်းနည်းများကို OOP Design Pattern များဟု ခေါ်ဆိုကြပါသည်။
American Philosopher တစ်ဦးဖြစ်သော “Abraham Maslow” က ပြောခဲ့ဖူးပါသည်။ သင့်တွင် ဖြေရှင်းစရာ ကရိယာ အနေနှင့် တူ တစ်ခုသာ ရှိမည်ဆိုပါက၊ အရာအားလုံးအား သံများ အဖြစ်သာ ကြည့်မြင်နိုင်မည် ဟု ဆိုပါသည်။
ကျွန်တော်တို့သည် ပြဿနာ ဖြေရှင်းနည်း တစ်နည်းသာ သိမည်ဆိုပါက၊ ကျွန်တော်တို့သည်လည်း ပြဿနာများအား နည်းလမ်းတစ်ခုတည်းဖြင့်သာ ဖြေရှင်းသွားမိပေမည်။ ထို့ကြောင့် ကျွန်တော်တို့သည်လည်း ဖြစ်လေ့ရှိသော ပြဿနာများနှင့်၊ ဖြေရှင်းနည်းများကို ကြိုတင်လေ့လာထားရန် လိုအပ်ပါသည်။
ကြမ်းစုံမှ ကမ်းကုန်အောင် တတ်မည် ဟူသော ဆိုရိုးစကားရှိပါသည်။ GoF Design Pattern များအား Java Programming ဘာသာရပ်ဘက်မှ ကြည့်မြင်ပြီး လွယ်ကူသောနည်းလမ်းများဖြင့် ဖေါ်ပြသွားပါမည်။
GoF Design Pattern များသည် စုစုပေါင်း ၂၃ မျိုးရှိပြီး၊ အမျိုးအစား အလိုက် အောက်ပါအတိုင်း ခွဲခြားထားပါသည်။
Creational Design Patterns
- Singleton Pattern
- Factory Method
- Abstract Factory Pattern
- Builder Pattern
- Prototype Pattern
Structural Design Patterns
- Adaptor Pattern
- Composite Pattern
- Proxy Pattern
- Flyweight Pattern
- Facade Pattern
- Bridge Pattern
- Decorator Pattern
Behavioural Design Patterns
- Template Method Pattern
- Mediator Pattern
- Chain Of Responsibility Pattern
- Observer Pattern
- Strategy Pattern
- Command Pattern
- State Pattern
- Visitor Pattern
- Interpreter Pattern
- Iterator Pattern
- Iterator Pattern
- Momento Pattern
Java Programmer တစ်ယောက် အနေနှင့် အထက်ပါ Design Pattern များအား အလွယ်ကူဆုံးသိရှိနားလည် နိုင်စေရန် နမူနာ ကုဒ်များဖြင့်ရှင်းလင်း ဖေါ်ပြသွားပါမည်။
No comments:
Post a Comment