ඔබට කූපන් කේතයක් අනුව වෙනස් පැකේජයක් ලබා දීමට C# භාවිතා කරනවානම්, මුලින්ම if-වක්රයක් ලියලා ආරම්භ කරනවා. ඒක ක්රමවත්ද? කේතය දිගුවට යද්දී එය තදබදයක් බවට පත්වේ.
උදාහරණයක් ලෙස, Package නමැති රෙකෝඩ් එකක් නිර්මාණය කර, කූපන් කේත අනුව නව Package වස්තුවක් රිටර්න් කරන ෆන්ක්ශන් එකක් ලියනවා. "ABC", "EBC", "DDD" වගේ කේත තුනකට තනි if-වක්රයක් පාවිච්චි කරනවා, එය නොමැති කේතයක් ඇතුළත් කරන විට default Package එකක් ලබා දෙනවා.
මෙම ක්රමය කුඩා උදාහරණයක් සඳහා හොඳයි, නමුත් නව කේත එකතු කිරීම හෝ මිල වෙනස් කිරීම අවශ්ය වුනොත්, if-වක්ර ගොඩක් එකතු කරගත යුතුය. කේතය කියවීමට අමාරු වීමත්, දෝෂ ඇතුළත් වීමේ අවදානමත් වැඩිවේ.
ඒ නිසා Dictionary එකක් භාවිතා කරන්නේ හොඳ විසඳුමක්. කීයක් (කූපන් කේතය) සහ අගයක් (Package වස්තුව) යුගලයක් ලෙස සුරක්ෂිත කර, TryGetValue මඟින් O(1) වේගයෙන් Package එක ලබා ගත හැකිය. ලැයිස්තුවක් හෝ අරේ එකක් සෙවීමට වඩා මෙය ගණනාවක් වේගවත්.
එහෙත්, වසරේ සමයන් අනුව මිල වෙනස් විය යුතු අවස්ථාවක් හදුන්වා දුන්නොත්, Package එකේ මිල ගණන සෘජුවම වෙනස් කළ නොහැක. මෙහිදී Package ක්ලාස් තුළ static method එකක් (උදා: PS5Controller(bool isHolidaySeason)) තබා, කූපන් කේතය හා සමය පරාමිතීන් එකට Dictionary හි delegate ලෙස සම්බන්ධ කළ හැකිය.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ වැඩිහිටි තරුණ සංවර්ධකයින්ට මෙම පරිදි කේත සරල කිරීම ඉගෙන ගැනීමේ වැදගත්කම විශාලය. Dictionary භාවිතයෙන් කේතය කෙටි, පැහැදිලි, පරිපාලනයට පහසු වේ. එමඟින්:
- අදාල කූපන් කේත එකතු කිරීමේදී අඩු කාලයක් වැය වේ.
- අපගේ වෙබ්/මොබයිල් ඇප්ස් වල performance වැඩිවී, පාරිභෝගික අත්දැකීම උසස් වේ.
- දෙවැනි පාර්ශවයන්ට (උදා: e‑commerce ව්යාපාර) ඉක්මනින් නව ප්රෝමෝශන් එකතු කරගැනීමට හැකි වේ.
ඉතින්, ශ්රී ලංකාවේ startup සමාගම්, e‑commerce වෙළඳාම, සහ විශ්වවිද්යාල ICT පාඨමාලා සඳහා මෙම තාක්ෂණය ඇතුළත් කිරීම ඉතා ප්රයෝජනවත් වේ.
අවසන් වශයෙන්, if-වක්රයන්ට පිටුපස dictionary delegate භාවිතා කිරීම ඔබේ කේතයට scalability, maintainability, සහ performance වැනි වාසි ලබා දෙයි. ඔබේ පළතුරු මාරු කිරීමේ පද්ධතිය මෙයින්ම අලුත් කරගන්න.