ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-27, Monday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

ඇන්ඩු/රීඩු පද්ධතිය විශේෂාංගයක් නොව පදනම් ආකෘතියක් බවට පත්වීම

ඇන්ඩු/රීඩු පද්ධතිය විශේෂාංගයක් නොව පදනම් ආකෘතියක් බවට පත්වීම

අපගේ රියල්‑ටයිම් ලේඛන සංස්කාරකයේ ඇන්ඩු/රීඩු ක්‍රියාකාරකම පසුපස ඇති තාක්ෂණික ගැටළුවක් හෙළිවිය. බොහෝ අය ඒක තවත් බටන් එකක් ලෙස හඳුන්වා ගත්තා, නමුත් එය පද්ධති මූලිකතා (infrastructure) ලෙස සැලකීම වැදගත් බව මේ කතාවෙන් පෙන්වයි.

පළමුව, සංස්කාරකය තුළ පැරණි හා නව ඇන්ඩු/රීඩු ක්‍රම දෙකක් එකට පවතිනවා. පැරණි ක්‍රමය callback‑based වශයෙන්, එක් widget එකකට undo, redo ක්‍රියාවලියන් දෙකක් closures ලෙස ලියා ඇත. නව ක්‍රමය command pattern භාවිතා කරයි; සෑම ක්‍රියාවක්ම class instance එකක් ලෙස, undo(), redo(), scope, timestamp, result වැනි ගුණ සමඟ සුරකිනවා.

මාරු කිරීම ආරම්භ වූ අතර, බොහෝ කොඩ් පaths නව පද්ධතියට පවරා ගන්නා ලද්දේ නමුත්, කීපයක් තවමත් පැරණි stack එක පුරවාගෙන තිබුණා. ඒ stack එකට කිසිදු pop ක්‍රියාවක් නොවූ නිසා, කිසිදු විශාල දෝෂයක් ලොග් වීමක් නොවී, පරිශීලකයන් Ctrl+Z ඔබාදීමත්, කිසිඳු ප්‍රතිඵලයක් නොලැබුනේය. මෙවැනි අවස්ථා කිහිපයක් මාස ගණනක් පුරා පවතින අතර, පරිශීලකයන් “අදහස් නැත” කියා ඉදිරියට ගියහ.

ඇයි මෙය ආකෘති (architecture) කතාවක්? ඇන්ඩු/රීඩු ක්‍රියාවලිය feature ලෙස සලකා බැලීමෙන්, “Done” සීමාව බොත්තමක් සකස් කිරීම, එය ක්ලික් කිරීම, ticket එක වැසීම යනවයි. නමුත් infrastructure එකේ අරමුණ තවත් වැදගත්: සම්පූර්ණ පද්ධතියේ state mutation සෑම විටම chronological order එකේ reversible විය යුතුය. මේ invariant එක එක component එකක් තුළ නොපෙනේ, එය ක්‍රමයෙන් කඩාවැටෙනවා.

command‑based approach එකේ විශේෂත්වය තමයි එය self‑describing වීම. එක් command එකක scope, timestamp, result වැනි දත්ත තිබෙන නිසා, undo/redo පද්ධතියට analytics, batching, retry semantics වැනි උසස් පහසුකම් ලබා දිය හැකිය. ඒ අතර, closures පමණක් භාවිතා කළහොත් ඒවායේ අන්තර්ගතය කියවීම අතිශය දුෂ්කර වේ.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ සංවර්ධකයින්, විශ්වවිද්‍යාල සිසුන්, තාක්ෂණ ආයතන සඳහා මෙය මූලික පණිවුඩයක්. පද්ධති මූලිකතා ලෙස undo/redo වැනි ක්‍රියාකාරකම් සකස් කිරීමෙන්, ලොකු පරිමාණ ව්‍යාපෘතිවල bugs හඳුනා ගැනීමට, අඩු කාලයක් තුළ සකස් කිරීමට හැකිවේ. එමෙන්ම, command pattern එක භාවිතා කිරීමෙන් analytics data එක few points වලට සීමා කරගත හැකි බැවින්, performance monitoring, cost optimisation වැනි කරුණු ශ්‍රී ලංකාවේ startups වලට ඉතා වැදගත් වේ.

අවසන් වශයෙන්, feature‑level පරිච්ඡේදයක් ලෙස නොගණන් කර, infrastructure‑level එකක් ලෙස සැලකීම, කේත ගුණාත්මකත්වය, maintainability, scalability වර්ධනයට මූලික වේ. ඔබේ සංවර්ධන පද්ධතියේ undo/redo ක්‍රමය මේ ආකාරයෙන් සලකා බලන්න.

අපගේ අලුත් command‑based undo/redo පද්ධතිය, ඉදිරියේදී analytics, batch processing, error handling වැනි නව අංග එක් කිරීමේ පදනමක් වනු ඇත.

💡 ඔබේ සංවර්ධන පද්ධතියේ මූලිකතා දැන් පරීක්ෂා කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#UndoRedo #CommandPattern #Architecture #DevOps #SriLankaTech