Skip to main content

MVC Design Pattern (Model-View-Controller)


ඉතින් යාලුවනේ මම අද ඔයාලට කියන්න යන්නෙ software industrial එකට ගොඩක් වැදගත් වෙන design pattern එකක්. ඒ තමයි MVC එහෙමත් නැත්නම් Model-View-Controller කියන design pattern එක. අපි දැන්  බලමු මොනවද මේ model , view ,controller කියන ඒවායින් කියවෙන්නේ කියලා.


Model  : අපි model එකක් කියලා සාමාන්‍යයෙන් කියන්නෙ object එකකට.අපේ program එකේ   ඇතුලත වෙන ක්‍රියාවලිය අපි ඉදිරිපත් කරන්නේ model එකකින්. 

View : අපි දැන් බලමු view එකක කියන්නෙ මොකක්දේ කියලා. view එක කියන්නෙ model එකෙ       තියෙන දේවල් user ට පෙන්වන්නේ එහෙමත්මේ නැත්නම් visualise කරන්නේ මේ  view එක හරහා තමයි.

Controller : අපි controller කියලා කියන්නෙ model එකේ වෙන වෙනස්කම් view එකේ update   කරන්නේ ඒවගේම model එකයි view එකයි control කරන්නේ මේ controller එකෙන් තමයි. මේ design pattern එකේ මේ කොටසේ තමයි business logic එක අපි ලියන්නේ. හරියට අපේ brain එක වගේ තමයි controller එක ක්‍රියාකරන්නේ. 





මේ MVC design pattern එකේ තියෙන ප්‍රධාන වාසියක් තමයි අපි program එකේ ඔක්කොම codes ටික එකම තැන  තියන්නේ නැතුව මේ වගේ model-view-controller  කියලා කොටස් 3කට වෙන් කරලා තියෙන නිසා model එක වෙනස් කරන්න අවශ්‍ය වුනාම model එක වෙනස් කරන්න , ඒ වගේම model එකට බලපෑමක් නෙතුව view එක වෙනස් කරන්න සහ controller එකෙන් model එක හා view එක වෙන වෙනම පාලනය කිරීමේ හැකියාව ලැබිල තියෙනවා. ඒ වගේම programmer ට ගොඩක් පහසුයි මේ වගේ පිළිවෙලකට codes ලියපුවහම.

ඔන්න මම MVC design pattern එකේ මුලික දේවල් ගැන කෙටියෙන් විස්තර කලා. මේ ලිපියට ඇතුලත් කරලා තියෙන පින්තුර වලිනුත් ඔයාලට අවබෝදයක් ගන්න පුලුවන් වෙයි  කියලා මම හිතනවා. අපි දැන් බලමු කොහොමද MVC design pattern එක අපි implement කරන්නේ කියලා.

 MVC design pattern එක use කරලා customer details print කරන්න අපි program එකක් ලියන්නයි හදන්නේ. මේ design pattern එක implement කරන්න අපිට classes 4ක් අවශ්‍ය වෙන්ව main method එක run වෙන MVCDemo කියන class එකත් එක්ක. පහල තියෙන class diagram එකේ මම classes ටිකයි ඒවායේ attributes and methods දාල තියෙනවා.



පියවර 1
Customer model class එක නිර්මාණය කරන්න.

Customer.java

පියවර 2
CustomerView කියන view class එක නිර්මාණය කරන්න.

CustomerView.java

පියවර 3
CustomerController කියන controller class එක නිර්මාණය කරන්න.

CustomerController.java 


පියවර 4
දැන් අපි අන්තිම පියවර විදිහට MVCDemo කියන class එක හදමු. එකෙන් තමයි අපි ලියපු program එකේ main method එක තියෙන්නේ.

MVCDemo.java 


ඔන්න යාලුවනේ ලිව්වා. දැන් අපි customer details ප්‍රින්ට් වෙන හැටි  බලමු.

Output


ඉතින් යාලුවනේ අද මම ගොඩක් වැදගත්  design pattern එකක් ඔයාලට මේ ලිපියෙන් ඉදිරිපත් කලා. ගොඩක් දුරට ඒ ගෙන ඔයාලට අවබෝධයක් ඇතිවෙන්න ඇති කියලා මම හිතනවා. අඩුවෙන් වගේ තේරුණා නම් බයවෙන්න එපා තව එක design pattern එකක් ඒ කියන්නෙ Singleton design pattern එක පැහැදිලි කරපු ගමන් ඒ design pattern 2ම use කරලා project එකක් කොහොමද කරන්නේ කියලා ඊළඟ ලිපියෙන් මම තවත් විස්තර කරන්නම්.
 එහෙනම් මගේ යාලුවනේ අපි ඊළඟ ලිපියෙන් හමුවෙමු .........................

Comments

Post a Comment

Popular posts from this blog

Object Oriented Programming Lessons - Part 1 topics

ඉතින් යාලුවනේ ඔයාලට මම දැන් මම ඔයලට පැහැදිලි කිරිමට බලාපොරොත්තු වෙන OOP පාඩම් මාලාව ඔයාලට කියනම්. මම හිතනවා එක ඔයාලට පහසුවක් වෙයි කියල. මම කොටස් 2ක්ත තමයි මේ පාඩම් මාලාව ඉදිරිපත් කරන්න හිතන් ඉන්නේ. පලවෙනි කොටස මං දන් ඔයලට ඉදිරිපත් කරන්නම්. OOP -Introduction OOP -What is class & object OOP - What is constructor OOP - What is abstraction  OOP - What is encapsulation OOP - Default values and declaration Values OOP - What is method overloading OOP - What is constructor overloading OOP - What is method call by values OOP - What is method call by reference OOP - What is key word "this" OOP - What is static methods OOP - What is static attributes OOP - What is static initilizer OOP - What is static object initilizer OOP - What is object blocks OOP - What is inheritance rules OOP - What is multiple inheritance using interface OOP - What is super keyword vs this key word OOP - What is method overriding OOP - What is overriding rules OOP - What is polymop...

Welcome to my blog

ආයුබෝවන් මේක කියවන  හැම කෙනාටම... මම කැළුම් පෙරේරා , දැනට IIT Campus එකේ Software Engineering degree එක කරන ගමන් තමා මං ඉන්නේ. ඒ අතර මටත් හිතුනා blog එකක් කරන්න ඕනා කියලා. මේක technical blog එකක්. blog නම් හැමතැනම ඇති... හැමදෙනාටම හම්බ වෙලා ඇති.. හැමෝම කියවලත් ඇති . .. එත් මේක විශේෂ එකක්. දිගටම මේකේ posts කියවනකොට ඔයාලටම එක තේරේවි.. මේකෙදි මම ඔයාලට කියලා දෙන්න හිතන් ඉන්නේ Java, C#  ගෙන ප්‍රදාන වශයෙන්. එත් හැමෝම දන්නා දේවල් ගෙන නෙමෙයි. ගොඩක් අය දන්නා , දන්නව වුනාට වැඩක් කරගන්න තරම් දැනුමක් නැති , එත් industry එකේ වැඩ වලට ගොඩක් ප්‍රයෝජනවත් වෙන දේවල් කොහොමද කරන්නේ කියන එක තම මං සරලවම කියලා දෙන්න යන්නේ. OOP(Object Oriented Programming) concepts ඔයලා හැමෝම දන්නවා,ඉගෙනගෙන තියෙනවා. එත් ගොඩක් අයට OOP වල ප්‍රශ්න තියෙනවා. ඒ නිසා OOP concept  ඔක්කොම වගේ ඇතුලත් වෙන විදිහට coding examples එක්කම පැහැදිළි කරනම්. ඔයාල අහල ඇතිනේ  design patterns ගැන ? අහලා ඇති ගොඩ දෙනෙක් , එත් දන්නේ නැ මොනවද , කොහොමද ඒවා use කරලා real world  project එක කරන්නේ කි...

OOP -Introduction

අපි මුලින් බලමු මොකක්ද මේ Object Oriented Programming concept එක කියන්නෙ කියලා. OOP කියන concept එක බිහිවෙන්න කලින් අපි භාවිත කලේ Structured Programming කියන concept එක. නමුත්  Structured Programming concept එක භාවිත කරලා මහපරිමාණ software නිර්මාණය කරන කොට programmers ලට නොයෙකුත් ප්‍රශ්න වලට මුහුණ දීමට සිදුවුණා. ඒ කියන්නේ structured concept එකෙන්  මහපරිමාණ software develop කරනකොට එකම class එකක සියළුම codes ලියන නිසා code වල errors , bugs ආවහම errors සහිත coding lines හඳුනාගෙන ඒවා නැවත සකස් කිරීමට‍ විශාල කාලයක් වගේම විශාල    වෙහෙසක් programmer ට දරන්න සිදුවෙනවා.  මොහොතකට හිතල බලන්න යාලුවනේ අපි structured programming concept එක use කරලා Foodcity එකකට software එකක් develop කරනවා කියලා. ඒ programme එකේ code lines විශාල ප්‍රමාණයක් තියෙනවා. ඉතින් ඒ වගේ අවස්ථාවක errors ආවහම , ඒ වගේම programmer  develop කරපු software එකට අලුතින් new parts add කරන්න අවශ්‍යයි කියල අපේ client කීවහම නැවත new parts add කිරීමේදී software එක develop කිරීමේදී වැය වුන කාලය , ඒ සඳහා c...