January 10, 2016

Mediator Pattern

Object အများကို အသုံးပြုပြီး ၎င်းတို့ကို အပြန်အလှန်ဆက်သွယ်အလုပ်လုပ်စေသော Program ကို ရေးသားရာတွင် Object များ အကြားရှိ ပတ်သက်မှု့သည် ရှူပ်ထွေးသွားလေ့ရှိပါသည်။ Mediator Pattern သည် Object များ၏​ ရှုပ်ထွေးသော Relationship ကို ရှင်းလင်းအောင် ဆောင်ရွက်ပေးနိုင်ပါသည်။


Problem


အောက်ပါ Object Diagram သည် User Object များ အတွင်း အသုံးပြုနေသော Chatting Program တစ်ခုအား ဖေါ်ပြထားခြင်း ဖြစ်ပါသည်။ အားလုံးပေါင်း Object 4 ခု ရှိပြီး၊ တစ်ခုချင်းစီသည် အခြားသော Object 3 ခုနှင့် Relationship တည်ရှိနေပါသည်။ အဆိုပါ Relationship များသည် Object တစ်ခုက အခြားသော Object တစ်ခု၏​ method ကို ခေါ်ဆိုနေသည် ဆိုသည်ကို ဖေါ်ပြနေပါသည်။

အကြောင်းတစ်ခုခုကြောင့် Object တစ်ခုအား ပြုပြင်လိုသော အခါ မည်သို့ဖြစ်မည်နည်း။ ဤကဲ့သို့ Relationship များရှုပ်ထွေးနေပါက အခြားသေား Object များတွင် အကျိုးသက်ရောက်မှု့များကို ဖြစ်ပေါ်စေမည် ဖြစ်သည်။ အခြားသော Object တစ်ခုခုကို ဖြည့်စွက်လိုသည့် အခါတွင်လည်း ၎င်းနှင့် ပတ်သက်မည့် Object များတွင်လည်း ပြောင်းလဲမှု့ တစ်ခုခု ဖြည့်စွက်ရန် လိုအပ်လိမ့်မည် ဖြစ်သည်။

ကုဒ်ကို ပြင်လိုက်ပြီဆိုကထဲက ကျွန်တော်တို့သည် Test လုပ်ရန် လိုအပ်လာပါသည်။ Object တစ်ခုကို ပြင်ရုံနှင့် ၎င်နှင်ပတ်သက်သော Object များအားလုံးကို Test လုပ်နေရမည် ဖြစ်သည်။ ဤသည်မှာ Object များအကြားရှိ Relationship များ ရှုပ်ထွေးနေသောကြောင့် ဖြစ်ပါသည်။



Solution


ဤကဲ့သို့ဖြစ်နေရခြင်းအကြောင်းမှာ Object အကြား Relationship များရှုပ်ထွေးနေသောကြောင့် ဖြစ်ပါသည်။ အဆိုပါ အပြန်အလှန် Relation များအား ကြားခံ Mediator Object တစ်ခုအား ဖြည့်စွက်၍ Relationship များအား Mediator နှင့်သာ ပတ်သက်စေပါမည်။ အခြားသော Object များကို ခိုင်းစေလိုသည့် အခါတွင် Mediator Object ကို ကြားခံ၍ ဆက်သွယ်စေပါမည်။

userA, userB, userC နှင့် userD တို့သည် အချင်းချင် ပတ်သက်စရာ မလိုအပ်တော့ပဲ၊ mediatorObject နှင့်သာ ပတ်သက်ရန်လိုအပ်ပါတော့သည်။ ထို့ကြောင့် အကြောင်းတစ်ခုခုကြောင့် Object တစ်ခုခုကို ပြုပြင်မည် ဆိုလည်း ပတ်သက်သည်မှာ mediatorObject တစ်ခုသာရှိသောကြောင့် Test လုပ်ရမည့် cost သည်လည်း သက်သာသွားပါမည်။ တဖန် object အသစ်တစ်ခု ထပ်မံဖြည့်စွက်မည်ဆိုလည်း mediatorObject နှင့်သာ သက်ဆိုင်မည် ဖြစ်သည်။

OOP Programming Design တွင် မဖြစ်မနေ လိုက်နာရမည်မှာ Object များ ၏ Relationship ကို ရှင်းလင်းအောင်ရေးသားခြင်းပင်ဖြစ်သည်။ Mediator Pattern ကို အသုံးပြုခြင်းအားဖြင့် Object များအကြားရှိ ရှုပ်ထွေးလွန်းသော Relationship များ ကို ရှင်းလင်းအောင်ဆောင်ရွက်ပေးနိုင်ပါသည်။



ဆက်ပါဦးမည်။ လေးစာ:စွာဖြင့်
မင်းလွင်

No comments:

Post a Comment