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

IoT Project - Smart Crop Seer 1.0

Smart C rop S eer 1 .0         Team XitorS Our Team Members Kelum Perera Visura De Silva Wageesha Ishani Charitha Wickramanayake Main purpose of the project   So, the main purpose of this project is to develop an IoT  device and and mobile application which can be used by anyone who has a very little knowledge in technology to aware of soil properties, environmental properties and demand in market.     Main objectives of the project Following would be the main objectives of the project.   To indicate availability of Nitrogen, Phosphorous and Potassium in the soil (whether nutrients are low, average or high)   To indicate moisture level in soil To indicate humidity of surrounding air  To indicate temperature of surrounding air  To show a list of most suitable crops to cultivate  To identify two agricultural zones to conduct the research To identify m...

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...