ඔබගේ යෙදුමට විවිධ ආකාරයේ නිවේදන (email, Teams, SMS) එවන්න අවශ්ය නම්, ඒක එකම තැනින් කළමනාකරණය කළාම වැඩේ ලේසියි. මේකම Factory Method රෙස්තුරන්ට් රසෝයි නාමයෙන් හැඳින්වෙන සැලසුම් රටාවයි.
රෙස්තුරන්ට් එකට ගොස් "බිරින්නි එකක්" කියලා ඇණවුම් කරනවා වගේ, ඔබටත් කේතයේ කොඩි එකක් හෝ කාර්යයක් සෘජුවම නිර්මාණය නොකර, ඒක Factory එකට අතහැර දෙනවා. Factory එක ඔබට අවශ්ය වර්ගය (email, Teams, SMS) තීරණය කර, ඒ අනුව නව වස්තුවක් (object) ලබා දෙයි.
Factory නොමැතිව කේතය ලියන විධිය මෙහෙමයි: විවිධ ගොනු 20කටම එකම if‑else පේළිය පිටපත් කර, වර්ගය අනුව new EmailSender() වගේ නව වස්තුවක් තැනීම. මෙය නිකම්ම අධික වැඩක්, දෝෂ අවදානම වැඩි කරයි.
Factory එකක් භාවිතා කරන විට, ඒ 20 ගොනු සියල්ලට var sender = NotificationFactory.Create(type); කියලා එකම පේළියක් පමණක් ලියයි. Create() ක්රමය තුළ if‑else එකක් ඇති නමුත් එය new ක්රියාකාරකම එක තැනකට සීමා කරයි. මෙයින් ව්යවස්ථාමය වශයෙන් “new” ඉවත් නොවෙයි, නමුත් එය කොහෙද සිදුවන්නේ කියලා පාලනය කරයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ බොහෝ සමාගම්, ආරම්භකයන්, විශ්වවිද්යාල සිසුන් මෘදුකාංග සංවර්ධනයේ නව රටාවන් ඉගෙන ගැනීමට උත්සාහ කරති. Factory Method රෙස්තුරන්ට් රසෝයි පදනම භාවිතා කිරීමෙන්:
- කේතය සරල කරයි: නව වර්ගයක් (උදා. WhatsAppSender) එකතු කරන විට, Factory එකේ ලයින් එකක් පමණක් වෙනස් කරයි. අනෙක් 20+ ගොනු අහඹු ලෙස නොවෙනස් වේ.
- දෝෂ අවදානම අඩු කරයි: එකම තැනෙහිම වෙනස්කම් කිරීම නිසා අතුරුදන් වීමේ අවස්ථාව අඩු වේ.
- ඉගෙනීමේ හැකියාව වැඩි කරයි: Interface (INotificationSender) එකක් මඟින් සියලු පණිවිඩකාරකයන් එකම පදනමක් යටතේ ක්රියා කරන බැවින්, නව පරිශීලකයන්ට ඒක අතුරුදන් නොවෙයි.
ඒ නිසා, ශ්රී ලංකාවේ තාක්ෂණික ආරම්භකයන්ට, ව්යාපාරිකයන්ට, හා අධ්යයන ආයතනවලට මේ රටාව ඉගෙන ගැනීම, වැඩි කාර්යක්ෂමතාව, අඩු පිරිවැය සහ ඉක්මන් නවීකරණය ලබා දේ.
සාරාංශයෙන්, Factory Method කියන්නේ “ඔබම රසය තැනීමට නොහැක, ඒකට රසෝයි එකට ඇණවුම් කරමු” යන අදහසයි. කේතයේ නව වස්තු නිර්මාණය එකම කුළියට (Factory) හරවා, වැඩි සෞඛ්යය සහ නවීකරණය ලබා ගන්න.