SOLID စည်းမျဉ်းများ
Object-oriented programming (OOP) အခြေခံဖြင့် လုပ်ဆောင်ချက်ပြည့်ဝပြီး ရေရှည်ထိန်းသိမ်းနိုင်သော ဆော့ဖ်ဝဲလ်များဖန်တီးရာတွင် SOLID စည်းမျဉ်းများသည် လိုအပ်ပါသည်။
SOLID ၏ အဓိက စည်းမျဉ်းများမှာ
- တစ်ခုတည်းသော တာဝန်ယူမှု - အရာဝတ္ထုတစ်ခုစီတွင် တာဝန်တစ်ခုတည်း (သို့) ရည်ရွယ်ချက်တစ်ခုသာရှိပြီး ထိုတာဝန်ကို သီးခြားအတန်းတစ်ခုဖြင့် ကိုယ်စားပြုသင့်သည်။ ဥပမာအားဖြင့်၊ ဒေတာဘေ့စ်မှ ဒေတာများထုတ်ယူခြင်းနှင့် ၎င်းတို့ကို အတည်ပြုခြင်းလုပ်ငန်းစဉ်နှစ်ခုကို ရောထွေးမသွားစေရန် အတန်းမတူညီသော အတန်းများဖြင့် ဆောင်ရွက်သင့်သည်။
- ဖွင့်ထားမှု / ပိတ်ထားမှု - အတန်းများသည် ပြောင်းလဲခြင်းနှင့် လုပ်ငန်းအသစ်များ ထပ်တိုးခြင်းအတွက် ဖွင့်ထားသင့်ပြီး တစ်ချိန်တည်းမှာပင် အခြေခံကုဒ်ကို ပြောင်းလဲခြင်းမှ ပိတ်ထားသင့်သည်။ ထို့ကြောင့် အတန်းတစ်ခုသို့ အခြားမိုဒျူးများနှင့် လုပ်ဆောင်ချက်များထည့်သွင်းနိုင်သော်လည်း မူရင်းကုဒ်သည် မပြောင်းလဲဘဲ ရှိနေရမည်။
- Liskov အစားထိုးမှု စည်းမျဉ်း - ဖန်တီးထားသော သားသမီးအားလုံးသည် ၎င်းတို့၏ မိဘ၏ အပြုအမူ (လုပ်ဆောင်သည့် အလုပ်များ) ကို ထိန်းသိမ်းပြသရမည်။
- အင်တာဖေ့ခွဲခြားမှု - ကြီးမားသော အင်တာဖေ့များကို အသုံးပြုသူများအား အပိုသတင်းအချက်အလက်များဖြင့် မဝန်ပိစေရန် သေးငယ်ပြီး ကျဉ်းမြောင်းသောဦးတည်ချက်ရှိသော အင်တာဖေ့များအဖြစ် ခွဲခြားသင့်သည်။
- အမှီအခိုကင်းမှု ပြောင်းပြန်လှန်ခြင်း - အထက်အဆင့်ရှိ အရာဝတ္ထုများ၊ ဥပမာ၊ အတန်းများသည် အောက်အဆင့်ရှိ မိုဒျူးများအပေါ် မှီခိုနေရန် မလိုအပ်ပါ၊ သို့သော် ၎င်းအားလုံးသည် ယေဘုယျသဘောတရားများ (abstractions) အပေါ်တွင်သာ မှီခိုသင့်သည်။
ဆက်လက်လေ့လာရန်
-
ဆော့ဖ်ဝဲလ်ကို အသေးစိတ်အစိတ်အပိုင်းများအဖြစ် ခွဲခြားပေးသော
DRYစည်းမျဉ်း,
-
ဆော့ဖ်ဝဲလ် ရှုပ်ထွေးမှုကို ရှောင်ရှားရန် အဆိုပြုထားသော
KISSစည်းမျဉ်း,
-
ဆော့ဖ်ဝဲလ်၏ အပိုလုပ်ဆောင်ချက်များကို ရှောင်ရှားရန် အဆိုပြုထားသော
YAGNIစည်းမျဉ်း,
-
လုပ်ဆောင်ချက်တစ်ခုစီအတွက် ညွှန်ကြားချက်တစ်ခုတည်းကိုသာ သတ်မှတ်ပေးသော
CQSစည်းမျဉ်း,
-
ဆော့ဖ်ဝဲလ်ဖွံ့ဖြိုးတည်ဆောက်ရာတွင် အသုံးပြုသော
LoDစည်းမျဉ်း,
-
ဆော့ဖ်ဝဲလ်ဖွံ့ဖြိုးတည်ဆောက်ရာတွင် အသုံးပြုသော တာဝန်ခွဲဝေမှု စည်းမျဉ်း,