Friday, 8 March 2019

Design pattern හදුනාගනිමු


Design pattern යනු  software design කරද්දී පොදුවේ ඇතිවන ගැටලු සදහා වන විසදුම් වේ. මේවා  ක්‍රමලේඛ design කරද්දී ඔබේ කේත වල  නිතර නිතර ඇතිවන ගැටලු වලදී වෙනස්කම් කර විසැදිය හැකි පෙර නිර්මිත සැලසුම් මෙන් පවති.

ඔබට ගැලපෙන pattern එක සොයා ගැනීමට හෝ සොයාගත් විසදුම ක්‍රමලේඛයට උකහා ගැනීමට නොහැකි වුවහොත් එයට විසදුමක් ලෙස off-the-shelf functions හෝ libraries යොදාගත නොහැක. Design pattern යනු කොඩ් කෑල්ලක් නොවේ සුවිශේෂි ගැටලුවක් විසදා ගැනීමට ඇති පොදු සංකල්පයකී. ඔබට pattern එකේ විස්තර අනුගමනය කර ඔබට ඔබේම ක්‍රමලේඛයට ඔබින විසදුමක් ගොඩනැංවිය හැක.

මෙහි pattern හා algorithms දෙක පටලවා නොගන්න.  මේ සංකල්ප දෙකම programming වලදී හදුනාගත් ගැටලු සදහා solutions ලබා දේ. algorithms සෑම විටම අරමුණක් සපුරා ගැනීමට පැහැදිලි action සමූහයක් ලබා දෙන අතර pattern එකක් කියන්නේ විසදුම පිළිබද වඩා ඉහළ මට්ටමේ(high level) විස්තරයක් වේ. කමලේඛයන් වෙනස් වුවත් ඒවායේ කේතයන්හි pattern එක සමාන විය හැක.

algorithms එක හරියට cooking recipe එකක් වගේ එහි goal එක achieve කරන්න පියවරයන් පැහැදිලිව දක්වා තිබේ. අනෙක් අතට pattern එක blueprint එක වගේ, එහි ප්‍රතිඑලයන් හා අංගයන්  මොනවාද කියා අපට දකින්න පුලුවන් නමුත් එය ගොඩානැංවීමේ නිවැරදී පියවරයන් ඔබට බාර වේ.

Pattern එකක අඩංගු වන දෑ

බොහෝමයක් pattern විධිමත් ලෙස විස්තර කෙරුණූ නිසා මිනිසුන්ට විවිධ තත්ව යටතේ ඒවා ප්‍රතිනිෂ්පාදනය කළ හැක.
මෙහි ඇත්තේ pattern එකේ විස්තර නිරූපනය කරන අංශ කිහිපයකි


  • Intent- මෙහිදී problem එකයි solution එකයි පුලුල්ව විස්තර කරයි.
  • Motivation - මෙහිදී තවදුරටත් problem එකයි solution එකයි පුලුල්ව වැඩිපුර විස්තර කරයි.
  • Structure - මෙහිදී pattern එකේ class වල ආකෘතියන් හා ඒවා එකිනෙක සම්බන්ධ වන ආකාරය පෙන්වයි.
  • Code example- මෙහිදී  වඩා ධාරණය වීම පිණිස solution  එක ප්‍රකට(සෑම දෙනකුම බාවිතා කරන) ක්‍රමලේඛකයකින් නිරූපනය කරයි.


No comments:

Post a Comment