MVC කියන්නේ මොකද්ද ?

Share with your friends!

මේ වෙනකොට development වලදී නිතරම කතා බහට ලක් වෙන දෙයක් තමයි MVC කියනේ. නමුත් මේකේ ආරම්භය 1980 තෙක් විහිදෙනවා. ඒ වගේම අද වෙනකොට ලෝකේ ප්‍රධාන මෘදුකාංග සමාගම් තමන්ගේ products වල MVC ආකෘතියට සහය දක්වන විදියට නිර්මාණය කරලා තියනවා. Joomla කියන CMS(Content Management System) එක, Microsoftලගේ ASP.net ඒකට උදාහරණ. දැන් බලමු මේ  MVC කියන්නේ මොකද්ද කියලා.MVC කියන කෙටි යෙදුමේ තේරුම වෙන්නේ Model View Controller කියන එක. ඒ කියන්නේ Model, View, Controller කියන තුනේ එකතුවක් තමයි මේ MVC කියන්නේ. මේක Software Design Pattern එකක්.මේ structure එකෙන් බලාපොරොත්තු වෙන ප්‍රධානම දේවල් මේවා.

  1. Improve code usability
  2. Keep Separation of concerns

දැන් බලමු මේ කියන්නේ මොකක් ගැනද කියලා. මේ ක්‍රමයේදී code එක කොටස් වලට වෙන් කිරීමක් කරනවා.මේ නිසා code readability, usability වගේ දේවල් improve කරගන්න පුළුවන්. මොකද එහෙම නැති උනොත් code ගොඩක් විතරක් අන්තිමට ගොඩ ගැහෙන එකයි වෙන්නේ. මේ කාරණා දෙක පස්සේ විස්තර කරලා කියන්නම්.

දැන් කලින් කතා කරපු Model, View, Controller කියන components ගැන එකින් එක බලමු.

1.  Model

මේ නමින් හඳුන්වන්නේ Application එකේ data සහ Software logic කියන දේවල්. Software logic කියන කොටසට අයිති වෙනවා Business Logic සහ Application Data කියන කොටස් දෙක.

2. View

මේ කොටසෙන් තමයි user එක්ක ගනුදෙනු කරන්නේ. සරලවම කියනවා නම් Application එකේ User Interfaces(UI) කියන්නේ මේ component එකට.

3.  Controller

මේ කොටසෙන් තමයි user එක්ක සහ model එක අතර සම්බන්ධතාව තියාගන්නේ. වෙනත් විදියකට කියනවා නම් UI සහ data අතර සම්බන්ධතාව තියාගන්නේ.

මේ image එකෙන් මේ ක්‍රියාවලිය පැහැදිලිව බලාගන්න පුළුවන්.

what-is-mvc-dhanushka

 

මේකේ අංක කරලා තියන පිළිවෙලට තමයි flow එක වෙන්නේ. මුලින්ම user කෙනෙක් request එකක් යවනවා[1]. ඒක Controller එක බාරගන්නවා. ඒකෙ වෙන්න ඕන වෙනස්කම් බලලා Model එකට යවන එක කරන්නෙත් Controller එකෙන්[2]. ඊටපස්සේ Model එක Database query කරලා[3] data අරන් ආයෙම යනවා Controller ගාවට[4]. ඊටපස්සේ Controller කරන්නේ ඒ data ටික View එකට බාර දෙන එක[5]. අන්තිමට View එක data process කරලා[] Output එක දෙනවා නැවතත් Userට[6].

සරලව විස්තර කරනවා නම් MVC Pattern එකේ වෙන්නේ මේ ක්‍රියාවලිය. නමුත් මේකට තවත් අලුත් කොටස් එකතු කරලා මේකේ result සහ outcome එක වැඩි කරගන්න පුළුවන්.

ගැටළු සහ අපැහැදිලි තැන් තියනවා නම් comment එකකින් කියන්න අමතක කරන්න එපා.

Share with your friends!

3 comments

Leave A Comment

shares