Object-Oriented Programming, ဒီဇိုင်းပုံစံများသည် code ၏ဖတ်ရလွယ်ကူမှု, ထိန်းသိမ်းခြင်းနှင့်စကေးကိုတိုးတက်စေနိုင်သောဘုံဆော့ဖ်ဝဲဒီဇိုင်းနည်းလမ်းဖြစ်သည်။ ဖွဲ့စည်းတည်ဆောက်ပုံဆိုင်ရာဒီဇိုင်းပုံစံအနေဖြင့် Flyweight ပုံစံသည်အရာဝတ်ထုများကိုမျှဝေခြင်း, ဤဆောင်းပါးသည် PHP တွင်စွယ်စုံကျမ်းရှိစွယ်စုံကျမ်းစနစ်ကိုမည်သို့ကျင့်သုံးရမည်ကိုအသေးစိတ်ဆွေးနွေးပါမည်။
စွယ်စုံကျမ်းသည်မှတ်ဉာဏ်အသုံးပြုမှုကိုလျှော့ချရန်နှင့်အစီအစဉ်စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်ဒီဇိုင်းပြုလုပ်ထားသောဒီဇိုင်းပုံစံဖြစ်သည်။ အဓိကအကြံဥာဏ်မှာအရာဝတ်ထုများစွာသည်တူညီသောပြည်နယ်သို့မဟုတ်ဒေတာများကိုတူညီသောပြည်နယ်သို့မဟုတ်အချက်အလက်များကိုမျှဝေခြင်း, အတန်းတစ်ခု၏ instantiated object တစ်ခုသည်ပွား attribute များရှိသည့်အခါစွယ်စုံကျမ်းသည်ဤပုံတူ attribute များကိုမျှဝေနိုင်သည်။
စွယ်စုံကျမ်းပုံစံကိုပိုမိုနားလည်ရန်, အကောင်အထည်ဖော်မှုကိုရိုးရှင်းသောကျင့်ထုံးဥပမာဖြင့်သရုပ်ပြလိမ့်မည်။
class User {<br> private $name;<br><br> public function __construct($name) {<br> $this->name = $name;<br> }<br><br> public function getName() {<br> return $this->name;<br> }<br>}<br><br>class UserFactory {<br> private $users = [];<br><br> public function getUser($name) {<br> if (!isset($this->users[$name])) {<br> $this->users[$name] = new User($name);<br> }<br> return $this->users[$name];<br> }<br>}<br><br>// အသုံးပြုUserFactoryလာပြီးယူလေUserကန့်ကွက်<br>$userFactory = new UserFactory();<br>$user1 = $userFactory->getUser('John');<br>$user2 = $userFactory->getUser('John');<br>echo $user1->getName(); // ထုတ်လုပ်ခြင်း: John<br>echo $user2->getName(); // ထုတ်လုပ်ခြင်း: John<br>echo $user1 === $user2 ? 'true' : 'false'; // ထုတ်လုပ်ခြင်း: true
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်အသုံးပြုသူအတန်းအစားနှင့် userfactory အတန်းတစ်ခုဖန်တီးသည်။ အသုံးပြုသူအတန်းအစားသည်အသုံးပြုသူအရာဝတ်ထုတစ်ခုကိုကိုယ်စားပြုသည်။ UserFactory အတန်းသည်အသုံးပြုသူအရာဝတ်ထုများကိုဖန်တီးရန်နှင့်စီမံခန့်ခွဲရန်တာဝန်ရှိသည်။ သုံးစွဲသူ 0 န်ဆောင်မှု၏ GetUser နည်းလမ်းသည်အသုံးပြုသူထုထည်ရှိပြီးသားရှိမရှိစစ်ဆေးလိမ့်မည်။ အကယ်. ၎င်းသည်မရှိပါကအရာဝတ်ထုအသစ်တစ်ခုကိုဖန်တီးပြီးပြန်ပို့သည်။ အကယ်. ၎င်းတည်ရှိပါကသိုလှောင်ထားသောအရာဝတ်ထုကိုတိုက်ရိုက်ပြန်ပို့လိမ့်မည်။ ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်တူညီသောအသုံးပြုသူအမည်အတွက်တူညီသောအသုံးပြုသူအရာဝတ်ထုကိုအမြဲတမ်းပြန်ပို့ပေးနိုင်ကြောင်းသေချာစေနိုင်သည်။
စွယ်စုံကျမ်းကိုအသုံးပြုခြင်းသည်အောက်ပါအားသာချက်များကိုရရှိစေနိုင်သည်။
စွယ်စုံကျမ်းကိုအမှန်တကယ်အသုံးပြုသောအခါ developer များကအောက်ပါအချက်များကိုဂရုပြုရန်လိုအပ်သည် -
Xiangyuan Mode သည်မှတ်ဉာဏ်အသုံးပြုမှုကိုလျော့နည်းစေပြီးအရာဝတ်ထုများကိုမျှဝေခြင်းဖြင့်အစီအစဉ်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေသည်။ PHP ရှိ EncyClopedia Mode ကိုအကောင်အထည်ဖော်ခြင်း PHP သည်မလိုအပ်သောအရာဝတ်ထုဖန်တီးမှုကိုထိရောက်စွာလျှော့ချနိုင်သည်။ ဤဆောင်းပါးသည် PHP ရှိစွယ်စုံကျမ်း Mode ကိုပိုမိုနားလည်ပြီးလက်တွေ့ကျင့်သုံးရန်ဤဆောင်းပါးသည်စာဖတ်သူများအားပိုမိုနားလည်သဘောပေါက်ရန်ကူညီနိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။