MVC යනු කුමක්ද?


206

බැරෑරුම් ක්‍රමලේඛකයෙකු ලෙස, MVC යනු කුමක්ද යන ප්‍රශ්නයට ඔබ පිළිතුරු දෙන්නේ කෙසේද?

මගේ මතකයේ හැටියට, එම්වීසී යනු අශෝභන මාතෘකාවක් වන අතර, එම නිසා, ඔබේ ප්‍රේක්ෂකයින් ඉගෙන ගන්නෙකු නම්, මතභේදාත්මක විය නොහැකි සාමාන්‍ය වචන වලින් එය විස්තර කිරීමට ඔබට නිදහස තිබේ.

කෙසේ වෙතත්, ඔබ දැනුමැති ප්‍රේක්ෂකයෙකු සමඟ, විශේෂයෙන් සම්මුඛ පරීක්‍ෂකවරයකු සමඟ කතා කරන්නේ නම්, “හොඳයි, එය හරි නැත! ...” හි ප්‍රතික්‍රියාවක් අවදානමට ලක් නොවන දිශාවක් ගත යුතු යැයි සිතීමට මට අපහසුය. අප සැමට වෙනස් තාත්වික අත්දැකීම් ඇති අතර, එකම MVC ක්‍රියාත්මක කිරීමේ රටාව මට දෙවරක් හමු වී නොමැත.

නිශ්චිතවම, තද බව, සංරචක අර්ථ දැක්වීම, කොටස් වෙන් කිරීම (කුමන කැබැල්ලට ගැලපෙන්නේ කොතැනද) යනාදිය සම්බන්ධයෙන් මතභේද පවතින බව පෙනේ.

එබැවින්, එම්වීසී නිවැරදි, සංක්ෂිප්ත හා මතභේදාත්මක ආකාරයකින් මා පැහැදිලි කළ යුත්තේ කෙසේද?


4
සටහන: ඔබ ASP.NET හි වැඩ කරන්නේ නම්, MVC හට දෙවන, නොහොබිනා අර්ථයක් ඇත: ASP.NET MVC
බ්‍රයන්

MVC මෙහි හොඳින් විස්තර කර ඇත codespeaker.com/blogs/…
smzapp

Answers:


158

MVC යනු මෘදුකාංග ගෘහ නිර්මාණ ශිල්පයකි - පද්ධතියේ ව්‍යුහය - එය වසම් / යෙදුම් / ව්‍යාපාර (ඔබ කැමති ඕනෑම දෙයක්) තර්කනය සෙසු පරිශීලක අතුරුමුහුණතෙන් වෙන් කරයි. යෙදුම මෙය කොටස් තුනකට වෙන් කිරීමෙන් මෙය සිදු කරයි: ආකෘතිය, දර්ශනය සහ පාලකය.

ආකෘතිය මූලික හැසිරීම් සහ යෙදුමේ දත්ත කළමනාකරණය කරයි. තොරතුරු සඳහා වන ඉල්ලීම් වලට ප්‍රතිචාර දැක්වීමට, එහි තොරතුරු වල තත්වය වෙනස් කිරීමට උපදෙස් වලට ප්‍රතිචාර දැක්වීමට සහ තොරතුරු වෙනස් වන විට සිදුවීම් මත පදනම් වූ පද්ධතිවල නිරීක්ෂකයින්ට දැනුම් දීමට පවා එයට හැකිය. මෙය දත්ත සමුදායක් හෝ දත්ත ව්‍යුහයන් හෝ ගබඩා පද්ධති ගණනක් විය හැකිය. කෙටියෙන් කිවහොත්, එය යෙදුමේ දත්ත සහ දත්ත කළමනාකරණය වේ.

දර්ශනය .ලදායී ලෙස යෙදුමේ පරිශීලක අතුරුමුහුණත සපයයි. එය පරිශීලක අතුරුමුහුණත සඳහා සුදුසු ආකෘතියකට ආකෘතියේ දත්ත ලබා දෙනු ඇත.

පාලකය පරිශීලක ආදානය ලබා ගන්නා අතර ආදර්ශ වස්තූන් සඳහා ඇමතුම් ලබා ගනී.

සියල්ලට ම, MVC හි මූලික කොටස් තුන නිර්මාණය කිරීම සඳහා මෙම සංරචක තුන එකට වැඩ කරයි.


7
+1 මම ඇත්ත වශයෙන්ම MVC සැලසුම් රටාවකට වඩා රටා තුනක (හෝ වැඩි) ගෘහ නිර්මාණ ශිල්පයක් ලෙස සිතීමට කැමැත්තෙමි. කැනොනිකල් ක්‍රියාවට නැංවීමක් නොමැත, එය එතරම් කුඩා නොවේ, සහ සියලු ක්‍රියාත්මක කිරීම් මඟින් ගම්‍ය වන මූලික සංරචකවලට වඩා ස්වල්පයක් ඇත.
යානිස්

52
මෙම පිළිතුරට උඩු යටිකුරු 21 ක් තිබුණද, "මෙය දත්ත සමුදායක් හෝ දත්ත ව්‍යුහයන් හෝ ගබඩා පද්ධති ගණනක් විය හැකිය. (Tl; dr: එය යෙදුමේ දත්ත සහ දත්ත කළමනාකරණය)" භයානක ය. ආකෘතිය පිරිසිදු ව්‍යාපාර / වසම් තර්කනයයි. මෙය යෙදුමක දත්ත කළමනාකරණයට වඩා බොහෝ සෙයින් විය හැකිය. මම වසම් තර්කනය සහ යෙදුම් තර්කනය අතර වෙනස හඳුනා ගනිමි. පාලකය කිසි විටෙක ව්‍යාපාර / වසම් තර්කනය අඩංගු නොවිය යුතුය.
ෆැල්කන්

9
ඉදිරිපත් කිරීමේ ස්ථරයෙන් පිටත mvc තාර්කික යැයි පවසන නිසා මට මෙම පිළිතුර සමඟ තවත් එකඟ විය නොහැක. ඉතිරි පිළිතුර හරි. MVC ඔබේ ඉදිරිපත් කිරීමේ ස්තරයෙන් ආරම්භ කර අවසන් කළ යුතු අතර ඔබේ ව්‍යාපාර තර්කනය සහ ගබඩාව එහි තිබිය යුතු නොවේ. එසේ කිරීමෙන් ඔබේ මුළු යෙදුමම ඔබේ ඉදිරිපත් කිරීමේ ස්තරය තුළ effectively ලදායී ලෙස ස්ථානගත වන අතර එය ආරම්භක යෙදුම සඳහා නිර්මාණය නොකර ඔබේ ව්‍යාපාර තර්කනයට හෝ පිරිසිදු දත්ත වලට access ජුව පිවිසීමට ඉඩ සලසන API ලබා ගත නොහැක. මෙය විස්තීරණතාව සඳහා විවෘත නැත, දර්ශන මාදිලි ඔබව සමීප කරවන නමුත් ඔබට තවමත් ලිහිල් සම්බන්ධතාවයක් නොමැත
ජිමී හොෆා

6
Im ජිමී: එම්වීසී හි බොහෝ ඉදිකිරීම් වලදී, ආකෘති යූඅයිඅයි මත යැපීම් නොමැති නිසා ඒපීඅයි වල නැවත භාවිතා කළ හැකිය - දර්ශනය සහ ආකෘතිය අතර වෙන්වීම ඒ ගැන සැලකිලිමත් වේ. නමුත් එය රඳා පවතින්නේ ඔබ 'ආකෘතිය' යන්න නිර්වචනය කරන්නේ කෙසේද යන්න මතය. ඔබ MVC ගැන තීන්දුවක් දීමට යන්නේ නම්, ඔබ භාවිතා කරන්නේ MVC හි කුමන අර්ථ නිරූපණයද යන්න පළමුව පැහැදිලි කළ යුතුය .
ඕවන් එස්.

5
Ann යානිස්: මෙය ප්‍රශ්නයක් අසයි: රටා ගෘහ නිර්මාණ ශිල්පය යනු කුමක්ද? ඔබ එය වෙනත් මෝස්තර රටාවක් ලෙස නොකියන්නේ ඇයි? GoF (සහ ඇලෙක්සැන්ඩර්) හි සැලසුම් රටාව පිළිබඳ අර්ථ දැක්වීමෙන්ම පැහැදිලි වන්නේ රටාවන් විසින් එක් කැනොනිකල් ක්‍රියාත්මක කිරීමක් නියම නොකළ යුතු බවයි (පොත් දෙකේම ජනප්‍රියතාවය එම මතය මඳක් අඩු කරයි).
ඕවන් එස්.

139

ප්‍රතිසම

මම එම්වීසී මගේ තාත්තට මේ විදියට පැහැදිලි කළා:

MVC (ආදර්ශ, දර්ශනය, පාලකය) යනු නඩත්තු කිරීමේ හැකියාව වැඩි දියුණු කිරීම සඳහා යෙදුමක කේත සංවිධානය කිරීමේ රටාවකි.

චිත්‍රාගාරයක් තුළ ඡායාරූප ශිල්පියෙකු සිය කැමරාව සමඟ සිතන්න. ගනුදෙනුකරුවෙකු පෙට්ටියක ඡායාරූපයක් ගන්නා ලෙස ඔහුගෙන් ඉල්ලා සිටී.

කොටුව ආකෘතියයි , ඡායාරූප ශිල්පියා පාලකය වන අතර කැමරාව දර්ශනය වේ.

කොටුව කැමරාව හෝ ඡායාරූප ශිල්පියා ගැන නොදන්නා නිසා එය සම්පූර්ණයෙන්ම ස්වාධීන ය. මෙම වෙන්වීම ඡායාරූප ශිල්පියාට කොටුව වටා ඇවිදීමට සහ කැමරාව ඕනෑම කෝණයකින් යොමු කර ඔහුට අවශ්‍ය වෙඩි තැබීම / දර්ශනය ලබා ගැනීමට ඉඩ සලසයි.

එම්වීසී නොවන ගෘහ නිර්මාණ තදින් එකට ඒකාබද්ධ වීමට නැඹුරු වේ. පෙට්ටිය, පාලකය සහ කැමරාව එක හා සමාන වස්තුවක් නම්, අපට නව දර්ශනයක් ලබා ගැනීමට අවශ්‍ය සෑම අවස්ථාවකදීම වෙන් වී කොටුව සහ කැමරාව යන දෙකම නැවත ගොඩනඟා ගත යුතුය. එසේම, ඡායාරූප ගැනීම සෑම විටම සෙල්ෆි ගැනීමට උත්සාහ කිරීමක් වැනිය - එය සැමවිටම එතරම් පහසු නැත.


සවිස්තරාත්මක පැහැදිලි කිරීම

එම්වීසී තේරුම් ගත් බවක් මට දැනුනේ පහත දැක්වෙන තැපැල් ප්‍රශ්න / පිළිතුර කියවීමෙන් පසුවය. උපුටා ගැනීම: https://mail.python.org/pipermail/python-list/2006- ජනවාරි / 394968.html

bwaha මෙසේ ලිවීය:

MVC නිර්මාණයේ උදාහරණයක් ලෙස කතුවරයා wxPython හි mvctree.py ගැන සඳහන් කරයි. කෙසේ වෙතත් මම තවමත් හරිතයි, එබැවින් එම උදාහරණය ඉතා සංකීර්ණ බව මට පෙනී යන අතර කතුවරයා නිර්දේශ කරන වෙන්වීම මට නොතේරේ.

එම්වීසී යනු උත්සුකයන් වෙන් කිරීමකි.

වැඩසටහනේ දත්ත කළමනාකරණය කිරීම සඳහා ආදර්ශය වගකීම දරයි (පුද්ගලික සහ සේවාදායක දත්ත). වැඩසටහනේ සේවාදායක දත්ත සමඟ අන්තර් ක්‍රියා කිරීමට බාහිර ලෝකයට සැපයීම සඳහා දැක්ම / පාලකය වගකිව යුතුය.

වැඩසටහනේ අනෙක් කොටස් සමඟ අන්තර් ක්‍රියා කිරීමට හැකි වන පරිදි ආදර්ශය අභ්‍යන්තර අතුරු මුහුණතක් (API) සපයයි. දර්ශනය සමඟ සෑම දෙයක්ම සන්නිවේදනය කිරීම සඳහා දර්ශනය / පාලකය බාහිර අතුරු මුහුණතක් (GUI / CLI / වෙබ් පෝරමය / ඉහළ මට්ටමේ IPC / යනාදිය) සපයයි.

වැඩසටහනේ දත්තවල අඛණ්ඩතාව පවත්වා ගැනීම සඳහා ආදර්ශය වගකිව යුතුය, මන්ද එය දූෂිත වුවහොත් එය සෑම දෙනාටම ක්‍රීඩාව අවසන් වේ. UI හි අඛණ්ඩතාව පවත්වා ගැනීම, සියලු පෙළ දසුන් යාවත්කාලීන අගයන් පෙන්වන බවට වග බලා ගැනීම, වත්මන් අවධානයට අදාළ නොවන මෙනු අයිතම අක්‍රීය කිරීම යනාදිය වගකිව යුතු ය.

මාදිලියේ දර්ශන / පාලක කේතයක් නොමැත; GUI විජට් පන්ති නොමැත, සංවාද කොටු තැබීමට හෝ පරිශීලක ආදානය ලබා ගැනීමට කේතයක් නොමැත. දර්ශන / පාලකයේ ආදර්ශ කේතයක් නොමැත; URL වලංගු කිරීම හෝ SQL විමසීම් සිදු කිරීම සඳහා කේතයක් නොමැත, සහ මුල් තත්වයක් ද නැත: විජට් සතුව ඇති ඕනෑම දත්ත ප්‍රදර්ශන අරමුණු සඳහා පමණක් වන අතර එය හුදෙක් ආකෘතියේ ගබඩා කර ඇති සත්‍ය දත්ත පිළිබිඹු කිරීමකි.

දැන්, සැබෑ MVC සැලසුමක පරීක්ෂණය මෙන්න: දර්ශනය / පාලකය අමුණා නොතිබුණද වැඩසටහන සාරභූතව ක්‍රියාත්මක විය යුතුය. හරි, බාහිර ලෝකයට එම ස්වරූපයෙන් එය සමඟ අන්තර් ක්‍රියා කිරීමට අපහසු වනු ඇත, නමුත් යමෙකු සුදුසු ආදර්ශ API ආභාෂය දන්නා තාක් කල්, වැඩසටහන සාමාන්‍ය පරිදි දත්ත රඳවා තබා ගනී.

මෙය කළ හැක්කේ ඇයි? හොඳයි, සරල පිළිතුර නම්, ඒ සියල්ලම ආදර්ශ සහ දර්ශන / පාලක ස්ථර අතර ඇති අඩු සම්බන්ධතාවයට ස්තූතියි. කෙසේ වෙතත්, මෙය සම්පූර්ණ කතාව නොවේ. සමස්ත එම්වීසී රටාවට යතුර වන්නේ එම සම්බන්ධතාවය ගමන් කරන දිශාවයි : සියලු උපදෙස් දර්ශන / පාලකයේ සිට ආකෘතිය දක්වා ගලා යයි . කළ යුතු දේ කවදාවත් / පාලකවරයාට ආදර්ශය නොකියයි.

මන්ද? MVC හි දී, දර්ශනය / පාලකයට ආකෘතිය ගැන මඳක් දැන ගැනීමට අවසර දී ඇති අතර (විශේෂයෙන්, මාදිලියේ API), නමුත් දර්ශනයට / පාලක ගැන කිසිවක් දැන ගැනීමට මොඩලයට අවසර නැත.

මන්ද? මක්නිසාද යත්, එම්වීසී යනු උත්සුකයන්ගෙන් පැහැදිලි වෙන්වීමක් නිර්මාණය කිරීමයි.

මන්ද? ක්‍රමලේඛ සංකීර්ණතාව පාලනයෙන් පිටතට යාම වැළැක්වීමට සහ ඒ යටතේ සංවර්ධකයා ඔබව භූමදාන කිරීම. වැඩසටහන විශාල වන තරමට එම වැඩසටහනේ සංරචක ගණන වැඩි වේ. එම සංරචක අතර වැඩි සම්බන්ධතා පවතින අතර, සංවර්ධකයින්ට තනි සංරචක නඩත්තු කිරීම / දීර් extend කිරීම / ප්‍රතිස්ථාපනය කිරීම දුෂ්කර ය, නැතහොත් සමස්ත පද්ධතියම ක්‍රියා කරන ආකාරය අනුගමනය කරන්න. ඔබෙන්ම මෙසේ අසන්න: වැඩසටහනේ ව්‍යුහයේ රූප සටහනක් දෙස බලන විට, ඔබ ගසක් හෝ බළලෙකුගේ තොටිල්ලක් දකින්නේද? MVC රටාව චක්‍රලේඛ සම්බන්ධතා තහනම් කිරීමෙන් දෙවැන්න වළක්වයි: B ට A හා සම්බන්ධ විය හැකිය, නමුත් A ට B හා සම්බන්ධ විය නොහැක. මේ අවස්ථාවේ දී, A යනු ආදර්ශය වන අතර B යනු දැක්ම / පාලකය වේ.

BTW, ඔබ තියුණු නම්, දැන් විස්තර කර ඇති 'එක්-මාර්ග' සීමාව පිළිබඳ ගැටළුවක් ඔබ දකිනු ඇත: මොඩලයට පවා ඉඩ නොදෙන විට මොඩලයේ පරිශීලක දත්තවල වෙනස්වීම් පිළිබඳ දර්ශනය / පාලකවරයාට මොඩලය දැනුම් දෙන්නේ කෙසේද? දර්ශනය / පාලකය, එයට පණිවිඩ යැවීමට කමක් නැතැයි දන්නවාද? නමුත් කණගාටු නොවන්න: මේ සඳහා විසඳුමක් ඇත, එය මුලින් මඳක් වටරවුමක් ලෙස පෙනුනත් එය පිළිවෙළකට තිබේ. අපි තව මොහොතකින් ඒ වෙත යමු.

ප්‍රායෝගිකව ගත් කල, දර්ශන / පාලක වස්තුවක්, මොඩලයේ ඒපීඅයි හරහා, 1. මොඩලයට දේවල් කිරීමට (විධාන ක්‍රියාත්මක කරන්න) කියන්න, සහ 2. ආදර්ශයට එය ලබා දෙන ලෙස පවසන්න (දත්ත ආපසු එවන්න). දර්ශන / පාලක ස්තරය ආදර්ශ ස්ථරයට උපදෙස් තල්ලු කර ආදර්ශ ස්ථරයෙන් තොරතුරු ඇද ගනී.

ඔබේ පළමු MyCoolListControl උදාහරණය වැරදී ඇත්තේ එතැනිනි, මන්ද එම පංතිය සඳහා ඒපීඅයි වෙත තොරතුරු ඒ තුළට තල්ලු කළ යුතුය, එබැවින් ඔබ නැවත ස්ථර අතර ද්වි-මාර්ග සම්බන්ධතාවයක් ඇති කර ගැනීමට, එම්වීසී නීති උල්ලං ting නය කරමින් ඔබව නැවත එම ස්ථානයට ඇද දමයි. ඔබ මුලින් අනුමාන කිරීමට උත්සාහ කළ බළලුන්ගේ තොටිල්ලේ ගෘහ නිර්මාණ ශිල්පය.

ඒ වෙනුවට, MyCoolListControl පන්තිය ප්‍රවාහය සමඟ යා යුතු අතර, එය අවශ්‍ය විටදී පහත ස්ථරයෙන් අවශ්‍ය දත්ත ඇද ගනී. ලැයිස්තු විජට් සම්බන්ධයෙන් ගත් කල, එයින් සාමාන්‍යයෙන් අදහස් වන්නේ කොපමණ අගයන් ඇත්දැයි විමසා පසුව ඒ සෑම අයිතමයක්ම ඉල්ලීමයි, මන්ද එය කළ හැකි සරලම හා ලිහිල්ම ක්‍රමය වන අතර එම නිසා එහි ඇති සම්බන්ධතාවය අවම මට්ටමක තබා ගනී. එම අගයන් පරිශීලකයාට අකාරාදී පිළිවෙලට ඉදිරිපත් කිරීමට විජට්ට අවශ්‍ය නම්, එය එහි පරමාදර්ශී ය; ඇත්ත වශයෙන්ම එහි වගකීම.

දැන්, මා කලින් ඉඟි කළ පරිදි, අන්තිම සංසිද්ධියක්: එම්වීසී මත පදනම් වූ පද්ධතියක යූඅයි හි දර්ශනය මොඩලයේ තත්වය සමඟ සමමුහුර්තව තබා ගන්නේ කෙසේද?

මෙන්න ගැටලුව: බොහෝ දර්ශන වස්තූන් රාජ්‍ය වේ, උදා: පිරික්සුම් කොටුවක් සලකුණු කර හෝ තෝරා නොගත හැක, පෙළ ක්ෂේත්‍රයක සංස්කරණය කළ හැකි පෙළක් අඩංගු විය හැකිය. කෙසේ වෙතත්, MVC විසින් සියලුම පරිශීලක දත්ත ආදර්ශ ස්ථරයේ ගබඩා කළ යුතු යැයි නියම කරයි, එබැවින් ප්‍රදර්ශන අරමුණු සඳහා වෙනත් ස්ථර වල ඇති ඕනෑම දත්තයක් (පිරික්සුම් කොටුවේ තත්වය, පෙළ ක්ෂේත්‍රයේ වත්මන් පෙළ) එම ප්‍රාථමික ආදර්ශ දත්තවල අනු පිටපතක් විය යුතුය. නමුත් මාදිලියේ තත්වය වෙනස් වුවහොත්, එම තත්වයේ දර්ශනයේ පිටපත තවදුරටත් නිවැරදි නොවන අතර එය නැවුම් කළ යුතුය.

නමුත් කෙසේද? MVC රටාව මඟින් එම තොරතුරු වල නැවුම් පිටපතක් දර්ශන ස්ථරයට තල්ලු කිරීම වළක්වයි. හෙක්, එය එහි තත්වය වෙනස් වී ඇති බව පැවසීමට දර්ශනයට පණිවිඩයක් යැවීමට මොඩලයට ඉඩ නොදේ.

හොඳයි, පාහේ. හරි, ආදර්ශ ස්ථරයට වෙනත් ස්ථර සමඟ කෙලින්ම කථා කිරීමට ඉඩ නොදේ, එසේ කිරීමට නම් එම ස්ථර ගැන යමක් දැන ගැනීමට අවශ්‍ය වන අතර MVC නීති එය වළක්වයි. කෙසේ වෙතත්, වනාන්තරයක ගසක් කඩා වැටී එය ඇසීමට කිසිවෙකු නොසිටින්නේ නම්, එය ශබ්දයක් කරයිද?

පිළිතුර, ඔබට පෙනෙන පරිදි, දැනුම්දීම් පද්ධතියක් සැකසීම, ආදර්ශ ස්ථරයට එය කිසිවෙකුට ප්‍රකාශ කළ හැකි ස්ථානයක් ලබා දීම, විශේෂයෙන් එය සිත්ගන්නා සුළු දෙයක් කර ඇති බව. වෙනත් ස්ථරවලට සවන්දෙන්නන්ට එම දැනුම්දීම් පද්ධතිය සමඟ ඔවුන් සැබවින්ම උනන්දුවක් දක්වන එම නිවේදනවලට සවන්දිය හැකිය. ආදර්ශ ස්ථරයට සවන් දෙන්නේ කවුරුන්ද යන්න ගැන කිසිවක් දැන ගැනීමට අවශ්‍ය නැත (හෝ කිසිවෙකු සවන් දුන්නද!); එය නිවේදනයක් පළ කර එය අමතක කරයි. යමෙකු එම නිවේදනය අසා පසුව යමක් කිරීමට කැමති යැයි හැඟේ නම් - මොඩලය නව දත්ත කිහිපයක් ඉල්ලා සිටීම වැනි දෙයක් වන අතර එමඟින් එහි තිරයේ දර්ශනය යාවත්කාලීන කළ හැකිය. මාදිලිය එහි API අර්ථ දැක්වීමේ කොටසක් ලෙස යවන දැනුම්දීම් ලැයිස්තුගත කරයි; එම දැනුමෙන් වෙනත් අය කරන දේ ඔවුන් සතු ය.

MVC සංරක්ෂණය කර ඇති අතර, සෑම කෙනෙකුම සතුටු වේ. ඔබගේ යෙදුම් රාමුව තුළ නිමැවුම් දැනුම්දීම් පද්ධතියක් සැපයිය හැකිය, නැතහොත් ඔබට ඔබේම දෑ ලිවිය හැකිය ('නිරීක්ෂක රටාව' බලන්න).

...

කෙසේ වෙතත්, එය උපකාරවත් වන බලාපොරොත්තුව. බැලූ බැල්මට - ඒවා අවශ්‍යතාවයට වඩා සංකීර්ණ බවක් පෙනෙන්නට තිබුණත්, එම්වීසී පිටුපස ඇති අභිප්‍රේරණයන් තේරුම් ගත් පසු, දේවල් සිදු වන ආකාරයටම ඒවා අර්ථවත් වීමට පටන් ගනී.

චියර්ස්,

ඇත


MVVM සහ MVCS ගැන කෙසේ වෙතත්, ඔබේ MVC පිළිතුර මෘදුකාංග
විද්‍යාවෙන් ඇසුනි. Stackexchange.com/questions/184396/…

87

MVC බොහෝ දුරට ප්‍රහේලිකාවකි.

එය රටාවක් ලෙස සලකනු ලැබුවද, එහි මුල් 1979 අර්ථ දැක්වීම ගොළු-පහළට, සම්මත කර, වැරදි ලෙස අර්ථකථනය කර, මුල් සන්දර්භයෙන් බැහැරව ගෙන ඇත. එය ආගමක් හා සමාන වීමට පටන් ගන්නා තැනට එය නැවත අර්ථකථනය කර ඇති අතර, මෙය නිසැකවම එහි භාණ්ඩ ප්‍රවාහකයින්ට එය ආරක්ෂා කිරීමට උපකාරී වන අතර, එහි නම ස්ථිර මාර්ගෝපදේශ මාලාවක් සමඟ තවදුරටත් සම්බන්ධ නොවේ . එනිසා එය තවදුරටත් රටාවක් ලෙස සැලකිය නොහැකිය.

MVC කිසි විටෙකත් වෙබ් යෙදුම් විස්තර කිරීමට අදහස් නොකළේය.
නවීන මෙහෙයුම් පද්ධති හෝ භාෂා නැත.
(ඔවුන්ගෙන් සමහරක් ඇත්ත වශයෙන්ම 1979 අර්ථ දැක්වීම අතිරික්තයක් බවට පත් කළහ)

එය සාදන ලදී. එය සාර්ථක වූයේ නැත.

අප දැන් ගනුදෙනු කරන්නේ අසභ්‍ය වෙබ්-එම්වීසී දෙමුහුන් වර්ගයක් වන අතර, එහි භයානක බස පදයේ තත්වය, වැරදි අර්ථ දැක්වීම සහ අර්ධ-නූගත්-ක්‍රමලේඛකයින් ඉලක්ක ජන විකාශනයක් ලෙස තිබීම, සාමාන්‍යයෙන් මෘදුකාංග රටාවන්ට නරක ප්‍රචාරයක් ලබා දෙයි.

මේ අනුව, එම්වීසී, ඒ ගැන ඕනෑවට වඩා සිතීමට අකමැති පුද්ගලයින් සඳහා ආසවනය කළ උත්සුකයන් වෙන් කිරීමක් බවට පත්විය .

  • මෙම දත්ත ආකෘතිය එක් ක්රමයක් හසුරුවන,
  • මෙම දැක්ම තවත්,
  • ඉතිරිය "පාලකය" ලෙස නම් කර පා er කයාගේ අභිමතය පරිදි ඉතිරි වේ.

90 දශකයේ වෙබ් අඩවි / වෙබ් යෙදුම් සැබවින්ම උත්සුකයන් වෙන් කිරීම සඳහා භාවිතා නොකළේය.

ඒවා අන්තර් මිශ්‍ර ස්පැගටි කේතයේ බිහිසුණු බෝට්ටු විය.
UI වෙනස් කිරීම්, ප්‍රතිනිර්මාණයන් සහ දත්ත ප්‍රතිසංවිධානයන් ඇදහිය නොහැකි තරම් දැඩි, මිල අධික, දිගු, අවපාත, අවාසනාවන්ත විය.

ඒඑස්පී, ජේඑස්පී සහ පීඑච්පී වැනි වෙබ් තාක්ෂණයන් දත්ත හා යෙදුම් උත්සුකයන් සමඟ අන්තර් සම්බන්ධ කිරීම පහසු කරයි. ක්‍ෂේත්‍රයට නවකයන් සාමාන්‍යයෙන් එම පැරණි කාලවලදී මෙන් වෙන් කළ නොහැකි කේත මඩ බෝල විමෝචනය කරයි.

මේ අනුව, වැඩිවන පිරිසක් ආධාරක සංසදවල නිමක් නැති ලූපවල “MVC භාවිතා කිරීම” පුනරාවර්තනය කිරීමට පටන් ගත්හ. කළමණාකරුවන් සහ අලෙවිකරුවන් ඇතුළත් වන තරමට පුද්ගලයින් සංඛ්‍යාව පුළුල් විය. (සමහර යෙදුම් මේ වන විටත් හුරුපුරුදු විය, ගුයි ක්‍රමලේඛනයේ සිට, රටාව අර්ථවත් විය) සහ එය අපට දැන් මුහුණ දිය යුතු බස පදයක ප්‍රධාන අංගයක් බවට පත්විය. .

එය පවතින විට එය සාමාන්‍ය බුද්ධිය මිස ක්‍රමවේදයක් නොවේ .
එය ආරම්භක ස්ථානයක් මිස විසඳුමක් නොවේ .
එය හරියට මිනිසුන්ට වාතය ආශ්වාස කරන්න , හෝ හැපෙනසුළු කරන්න , පිළිකා සඳහා ප්‍රතිකාරයක් නොවේ .


22
එය බොහෝ දුරට ප්‍රහේලිකාවක් නොවේ. එම්වීසී අනෙකුත් සැලසුම් රටාවන්ට වඩා පුළුල් හා අඩු වෙනසක් ඇති බව සත්‍යයකි, එබැවින් ඔබ එය සංවිධානාත්මක මූලධර්මයක් හෝ ආදර්ශයක් ලෙස සිතිය හැකිය. නමුත් ඔබ එය හැඳින්වුවද, එය ඉතා සාර්ථක වස්තු දිශානත රාමු ගණනාවක මූලික සංකල්පයකි. එය හුදු ප්‍රහේලිකාවක් යැයි මවා පෑමට, එනම් බොහෝ දේ අදහස් නොකරන විලාසිතාමය වාක්‍ය ඛණ්ඩයක් නම්, OP ට අගෞරවයක් කිරීමයි.
කාලෙබ්

23
It's a fancy word for pre-existing concepts that didn't really need one.එම විස්තරයට නොගැලපෙන නිර්මාණ රටාව / ගෘහ නිර්මාණ ශිල්පය කුමක්ද?
යානිස්

8
+1 අවංකවම, ඔබ මූලධර්ම (සහජීවනය, සම්බන්ධ කිරීම, කියවීමේ හැකියාව, විකලාංග විද්‍යාව යනාදිය) ග්‍රහණය කර ගත් පසු නවීන භාෂාවන්ගේ හැකියාවන් සමඟ ඒකාබද්ධ වූ පසු මෙම කරුණු බොහොමයක් පැහැදිලිව පෙනේ.
ලොරියන්

13
The data model is handled one way, the view in another, the rest is just named "controller"+1
c69

34
-1. සියලු මෝඩ +1 අදහස් සඳහා -10 මට හැකි වේවායි ප්‍රාර්ථනා කරමි. සම්බන්ධතාවයේ සහ සහජීවනයේ මූලික මූලධර්ම ලබා දී ඇති මෙම “පැහැදිලිව” කිසිවක් ලබා දෙන්නේ කෙසේද? එම්වීසී, එම්වීපී, එම්වීවීඑම්, පෝරම සහ ස්මාල්ටොක්ගේ ආකෘතිය ඇතුළුව යූඅයි ගෘහ නිර්මාණ ශිල්පය බහුලව තිබේ. සමහර සමාගම් WS-CAF වැනි සංයුක්ත යෙදුම් ගෘහ නිර්මාණ ශිල්පය අන්තයට තල්ලු කරයි. “සාමාන්‍ය බුද්ධිය” ස්වයංක්‍රීයව ඔබව එම්වීසී වෙත ගෙන යන බව පැවසීම ඩෙස්කාටෙස්ගේ දෙවියන්ගේ ඊනියා සාක්ෂිය තරම් ජලය රඳවා ගනී. එය පැහැදිලිවම ඔබ දන්නා දෙයයි , නමුත් ඔබේ පිළිතුරෙන් පෙන්නුම් කරන්නේ වෙනත් ක්‍රම පිළිබඳ නොදැනුවත්කම හෝ ඔබේ සීමාවන් පුළුල් කිරීමට ඇති නොහැකියාවයි.
ආරොනොට්

39

එය නිර්වචනය කිරීමට ඇති හොඳම ක්‍රමය නම් එය නිර්මාණය කළ ට්‍රිග්ව් රීන්ස්කොග්ගේ මුල් ලේඛන වෙත යාමයි : http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html

මෙම ලිපිය විශේෂයෙන් අර්ථ දැක්වීමේ පා text ය ලෙස සැලකේ: http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf

ආකෘති

ආකෘති දැනුම නියෝජනය කරයි. ආකෘතියක් තනි වස්තුවක් විය හැකිය (තරමක් උනන්දුවක් නොදක්වයි), නැතහොත් එය යම් වස්තු ව්‍යුහයක් විය හැකිය ...

එක් අතකින් ආකෘතිය සහ එහි කොටස් අතර එකින් එක ලිපි හුවමාරුවක් තිබිය යුතු අතර අනෙක් පැත්තෙන් ආකෘතියේ හිමිකරු විසින් වටහා ගත් පරිදි නිරූපිත ලෝකය. එබැවින් ආකෘතියක නෝඩ් ගැටලුවේ හඳුනාගත හැකි කොටසක් නියෝජනය කළ යුතුය.

ආකෘතියක නෝඩ් සියල්ලම එකම ගැටළු මට්ටමක තිබිය යුතුය, එය ව්‍යාකූල වන අතර ගැටළු-නැඹුරු නෝඩ් (උදා: කැලැන්ඩර හමුවීම්) ක්‍රියාත්මක කිරීමේ විස්තර සමඟ (උදා.

දර්ශන

දර්ශනයක් යනු එහි ආකෘතියේ (දෘශ්‍ය) නිරූපණයකි. එය සාමාන්‍යයෙන් ආකෘතියේ ඇතැම් ගුණාංග ඉස්මතු කර පෙන්වන අතර අනෙක් ඒවා යටපත් කරයි. මේ අනුව එය ඉදිරිපත් කිරීමේ පෙරණයක් ලෙස ක්‍රියා කරයි .

දර්ශනයක් එහි ආකෘතියට (හෝ ආකෘති කොටස) අමුණා ඇති අතර ප්‍රශ්න ඇසීමෙන් ඉදිරිපත් කිරීම සඳහා අවශ්‍ය දත්ත ආකෘතියෙන් ලබා ගනී. සුදුසු පණිවිඩ යැවීමෙන් එය ආකෘතිය යාවත්කාලීන කළ හැකිය. මෙම සියලු ප්‍රශ්න සහ පණිවිඩ ආකෘතියේ පාරිභාෂිතය තුළ තිබිය යුතුය, එබැවින් දර්ශනයට එය නිරූපණය කරන ආකෘතියේ ගුණාංගවල අර්ථ නිරූපණය දැනගත යුතුය. (නිදසුනක් ලෙස, එය ආකෘතියේ අනන්‍යතාවය ඉල්ලා සිටිමින් පෙළ පිළිබඳ උදාහරණයක් අපේක්ෂා කළ හැකිය, එය ආකෘතිය පන්තියේ පෙළ යැයි උපකල්පනය නොකරනු ඇත.)

පාලකයන්

පාලකය යනු පරිශීලකයෙකු සහ පද්ධතිය අතර සම්බන්ධයයි. තිරය ​​මත සුදුසු ස්ථානවල පෙනී සිටීමට අදාළ අදහස් සැකසීමෙන් එය පරිශීලකයාට ආදානය සපයයි. එය පරිශීලකයාට මෙනු හෝ වෙනත් විධානයන් සහ දත්ත ලබා දීමෙන් පරිශීලක ප්‍රතිදානය සඳහා මාධ්‍යයන් සපයයි. පාලකවරයාට එවැනි පරිශීලක ප්‍රතිදානයක් ලැබෙනු ඇත, එය සුදුසු පණිවිඩ වලට පරිවර්ථනය කර මෙම පණිවිඩ .එහි එක් හෝ වැඩි ගණනක් වෙත යවයි.

පාලකය කිසි විටෙකත් දර්ශනවලට අතිරේක නොවිය යුතුය, උදාහරණයක් ලෙස නෝඩ් අතර ඊතල ඇඳීමෙන් ඒවා කිසි විටෙකත් සම්බන්ධ නොකළ යුතුය.

අනෙක් අතට, මූසික මෙහෙයුම් සහ යතුරු එබීම් වැනි පරිශීලක ආදානය ගැන දර්ශනයක් කිසි විටෙකත් නොදැන සිටිය යුතුය. පරිශීලක විධානයන්හි ඕනෑම අනුක්‍රමයක් හරියටම ප්‍රතිනිෂ්පාදනය කරන දර්ශන වෙත පණිවිඩ යවන පාලකයක ක්‍රමයක් ලිවීමට සැමවිටම හැකි විය යුතුය.

සංස්කාරකවරු

පාලකයක් එහි සියලු අදහස් සමඟ සම්බන්ධ වේ, ඒවා පාලකයේ කොටස් ලෙස හැඳින්වේ. සමහර දර්ශන මඟින් විශේෂ පාලකයක්, සංස්කාරකයක් සපයයි, එමඟින් දර්ශනය මඟින් ඉදිරිපත් කරන තොරතුරු වෙනස් කිරීමට පරිශීලකයාට අවසර දෙයි. එවැනි සංස්කාරකවරුන් පාලකය සහ එහි දැක්ම අතර මාර්ගයට බෙදිය හැකි අතර එය පාලකයේ දිගුවක් ලෙස ක්‍රියා කරයි. සංස්කරණ ක්‍රියාවලිය අවසන් වූ පසු, සංස්කාරකය මාර්ගයෙන් ඉවත් කර ඉවතලනු ලැබේ.

සම්බන්ධිත දර්ශනයේ රූපක හරහා සංස්කාරකය පරිශීලකයා සමඟ සන්නිවේදනය කරන බව සලකන්න, එබැවින් සංස්කාරකය දර්ශනය සමඟ සමීපව සම්බන්ධ වේ. පාලකයෙකු සංස්කාරකයකුගේ දෘෂ්ටිය විමසීමෙන් එය අල්ලා ගනු ඇත - වෙනත් සුදුසු ප්‍රභවයක් නොමැත.


11

MVC යනු ව්‍යාපාර තර්කනය ඉදිරිපත් කිරීමෙන් හුදකලා කිරීමට භාවිතා කරන සැලසුම් රටාවකි.

එය වෙනත් බොහෝ මෝස්තර රටාවන්ට වඩා වෙනස් වන්නේ එය සාමාන්‍යයෙන් සංක්ෂිප්තව ක්‍රියාත්මක නොවන නමුත් රාමුවක පදනමයි.

ක්‍රමෝපාය රටාවක් ක්‍රියාත්මක කරන යෙදුමක් ඒ පිළිබඳ කුඩා විස්තරයක් පමණක් වන අතර, වෙබ් යෙදුමක් MVC සැලසුම් රටාව භාවිතා කරන බව පැවසීම එහි ගෘහ නිර්මාණ ශිල්පය ඉතා අර්ථ දක්වයි.


2
එය තදින්ම ප්‍රයෝජනවත් නොවේ, එම්වීපී, එම්පී, එම්වීවීඑම් වලට වඩා වෙනස් වන එම්වීසී රටාව ක්‍රියාත්මක කිරීම සඳහා විශේෂිත අවශ්‍යතා ඇත. අනෙක් ඉදිරිපත් කිරීමේ රටාවන්ට වඩා වෙනස් ඉලක්කගත ප්‍රේක්ෂක පිරිසක් එයට ඇත.
ඉයන්

8

MVC යනු පද්ධතියක හෝ උප පද්ධතියක පහත සඳහන් කොටස් වෙන් කරන මෘදුකාංග නිර්මාණයකි:

  1. ආකෘතිය - යෙදුමේ තත්වය හෝ එහි සංරචක පිළිබඳ දත්ත. වෙනස් කිරීම හෝ ප්‍රවේශය සඳහා වන ක්‍රියාකාරකම් ඇතුළත් විය හැකිය.
  2. දර්ශනය - දත්ත අර්ථ නිරූපණය (ආකෘතිය). මෙය දෘශ්‍ය නිරූපණයකට පමණක් සීමා වූ නමුත් ශ්රව්ය, ව්‍යුත්පන්න තොරතුරු විය හැකිය (උදා: සංඛ්‍යාලේඛන වෙනත් ආකෘති වස්තුවකට සම්බන්ධ කර ඇත) යනාදිය. තවද, එක් ආකෘතියකට විවිධ අදහස් තිබිය හැකිය.
  3. පාලනය - ආකෘතියේ වෙනස් කිරීම් සිදු කරමින් පද්ධතියට බාහිර ආදානය හසුරුවයි. පාලනය / දැක්ම සමීපව සම්බන්ධ විය හැකිය (UI සම්බන්ධයෙන්). කෙසේ වෙතත්, වෙනත් බාහිර ආදාන (ජාල විධාන වැනි) ක්‍රියාවට නැංවිය හැකි අතර ඒවා දර්ශනයෙන් සම්පූර්ණයෙන්ම ස්වාධීන වේ.

6

එම්වීසී යනු සංකල්පයක් හෝ සමාන රටාවන්ගෙන් යුත් පවුලක් යැයි මම කියමි.

මෙම ලිපිය කියවීම වටී යැයි මම සිතමි. මාටින් ෆෝලර් විසින් GUI ගෘහ නිර්මාණ ශිල්පය


5
එම ෆෝලර් ලිපිය විශිෂ්ට වන අතර එම්වීසී යන පදය භාවිතා කරන සෑම කෙනෙකුම එය කියවිය යුතුය. මා විශේෂයෙන් සිත්ගන්නා කාරණා දෙකක් නම්, චිත්‍රක වල MVC යන යෙදුමේ මුල් භාවිතය වෙබ් රාමු වල භාවිතයට වඩා වෙනස් වන අතර, GUIs වලදී, දර්ශනය සහ පාලකය අතර වෙන්වීම අපේක්ෂිත ප්‍රමාණයට වඩා අඩු ප්‍රයෝජනවත් බව සොයා ගන්නා ලදී.
ටොම් ඇන්ඩර්සන්

3

පළමුවෙන්ම, ප්‍රශ්නය අසන්නා කවුරුන්ද යන්න සහ ඔහු සොයන්නේ කුමන ආකාරයේ පිළිතුරක්ද යන්න ඔබ විසින් තීරණය කළ යුතුය. ඔබ මෙම ප්‍රශ්නයට ප්‍රතිචාර දක්වන්නේ "කුමන අර්ථයෙන්ද?"

ඔවුන් පොදුවේ MVC ගැන සඳහන් කරන්නේ දැයි ඔබට විමසිය හැකිය, MVC (එනම් asp.net MVC, වසන්ත MVC, ස්මාල්ටෝක් MVC, ආදිය) ක්‍රියාත්මක කිරීම, එය තාක්‍ෂණිකව කුමක් ද, එය පිලිසොෆිකල් යනු කුමක්ද (ඔව්, එයට ඇත්තේ දර්ශනය ද), ආදිය.

මෙය පරීක්ෂණයක ප්‍රශ්නයක් නම්, ඔබට ඉල්ලුම්කරුගෙන් පැහැදිලි කිරීමක් ඉල්ලා සිටිය නොහැකි නම්, එවිට ඔබට සන්දර්භය මත පදනම්ව අනුමාන කළ යුතුය.

හොඳ සරල පිළිතුරක් නම්:

එම්වීසී යනු මෘදුකාංග නඩත්තු මෘදුකාංගයක් වන අතර එය වඩාත් නඩත්තු කළ හැකි මෘදුකාංග සඳහා පහසුකම් සැලසීම සඳහා ව්‍යුහාත්මක හා චර්යාත්මක අවශ්‍යතා වෙන් කිරීමට භාවිතා කරයි.

ඔබට මෙසේ පැවසිය හැකිය:

පාලක වෙතින් දර්ශනය ආකෘතියෙන් වෙන් කිරීමෙන්, ඒවායේ වගකීම් මත පදනම්ව සංරචක හුදකලා කිරීමට එය දිරිගන්වයි. න්‍යාය අනුව සහ සාමාන්‍යයෙන් ප්‍රායෝගිකව මෙය පද්ධතියේ විවිධ කොටස් සම-මිශ්‍ර වීමෙන් හා වඩාත් සංකීර්ණ පද්ධති නිර්මාණය කිරීමෙන් නඩත්තු කිරීමේ හැකියාව වැඩි දියුණු කිරීමට උපකාරී වේ.

එහෙත්, අවසානයේදී, ඔවුන් අපේක්ෂා කරන පිළිතුර ඔබ ලබා දෙන්නේද යන්න පිළිබඳව ඔබව විනිශ්චය කරනු ලැබේ. ගැටලුවට ඇති එකම විසඳුම ඔවුන් අපේක්ෂා කරන්නේ කුමන ආකාරයේ පිළිතුරක්ද යන්න සොයා ගැනීමයි.


2

මෙන්න මම ඒ ගැන කියන්නේ කුමක්ද. ජංගම යෙදුම් සම්බන්ධයෙන් මම එය පැහැදිලි කිරීමට උත්සාහ කරමි, මන්ද එය මට වඩාත්ම හුරුපුරුදු දෙය වන අතර ජංගම යෙදුම් කිරීමට පෙර එය සම්පූර්ණයෙන් තේරුම් ගත් බව මම නොසිතමි.
උදාහරණයක් ලෙස ඇන්ඩ්‍රොයිඩ් ගනිමු.
ඉදිරිපත් කිරීමේ ස්තරය, එනම්. පරිශීලක අතුරුමුහුණත සම්පූර්ණයෙන්ම xml වලින් නියම කළ හැකිය (තිබිය යුතුය). සරල බව සඳහා, එක් xml ගොනුවක් යෙදුමේ එක් තිරයක් විස්තර කරන බව කියමු. XML ගොනුව මඟින් පාලනයන්, පාලන සැකැස්ම, ස්ථානගත කිරීම, වර්ණ, ප්‍රමාණය, නූල් ලේබල් ... ඉදිරිපත් කිරීම සම්බන්ධ සියල්ල නියම කරයි. එහෙත් එය කවදාද, කවදා තිරය මත තබන්නේද යන්න ගැන කිසිවක් දන්නේ නැත. එය තනිවම පිරිසැලසුමක් හෝ විශාල පිරිසැලසුමක කොටසක් වේද? එහි ඔබට එය තිබේ: ඔබේ පරිපූර්ණ දර්ශනය .

දැන්, දර්ශනය පැහැදිලිවම යම් වේලාවක තිරය මත තැබිය යුතුය, එබැවින් එය කළ යුත්තේ කෙසේද? ඔබගේ CONTROLLER , ඇන්ඩ්‍රොයිඩ් හි ක්‍රියාකාරකම් ලෙස හැඳින්වේ. නම පවසන පරිදි, ක්‍රියාකාරකම් යම් ක්‍රියාකාරකමක් කරයි. එහි එකම අරමුණ 1 වන පියවරෙහි අර්ථ දක්වා ඇති දර්ශනය ප්‍රදර්ශනය කිරීම වුවද, එය යම් ක්‍රියාවක් කරනු ඇත. එබැවින්, ක්‍රියාකාරකමක් දර්ශනයක් ලබා ගෙන එය තිරය මත පෙන්වයි. දර්ශනය ක්‍රියාකාරකම් ගැන කිසිවක් නොදන්නා බැවින්, ඒ හා සමාන ක්‍රියාකාරකම් සත්‍ය ඉදිරිපත් කිරීම ගැන කිසිවක් දන්නේ නැත. අපගේ ක්‍රියාකාරකම් වල එක් කේත පේළියක්වත් වෙනස් නොකර අපට (ක්‍රමලේඛකයන්ට) කිහිප වතාවක් දර්ශනයේ පිරිසැලසුම නැවත සකස් කළ හැකිය.

දැන්, ඇත්ත වශයෙන්ම යමක් නොකර ඔබේ ලස්සන දිලිසෙන, මනාව නිර්වචනය කරන ලද xml පිරිසැලසුම ඉදිරිපත් කිරීමේදී වැඩි ප්‍රයෝජනයක් නොමැත. පරිශීලකයා විසින් ඇතුළත් කළ දත්ත ගබඩා කිරීමට අපට අවශ්‍ය යැයි කියමු. ක්‍රියාකාරකමට මෙම ක්‍රියාවලිය පරිශීලකයාගේ දත්ත ගෙනයාමේ සිට එය හැසිරවීමට වෙනත් කෙනෙකුට ලබා දීම දක්වා අවශ්‍ය වේ (ක්‍රියාවලිය, ගබඩා කිරීම, මකා දැමීම). එය කාටද යන්නේ? හොඳයි, මොඩලයකට . නිරූපිකාවක් නිර්මල ලෙස සිතීමට මා කැමතිය. එය ජීවත්වන යෙදුම් සන්දර්භය ගැන කිසිවක් නොදන්නා ජාවා පන්තිය. (ප්‍රායෝගිකව එය කිසි විටෙකත් සිදු නොවේ).

නම, ලිපිනය, වයස යන ගුණාංග තුනක් ඇති පන්තියේ පුද්ගලයෙක් මා සතුව ඇතැයි කියමු. මගේ XML අර්ථ දක්වා ඇති පිරිසැලසුම පරිශීලක ආදානය සඳහා ක්ෂේත්‍ර 3 ක් ඇත: නම, ලිපිනය, වයස. මගේ ක්‍රියාකාරකම පරිශීලක ආදානයෙන් අගයන් තුන ලබා ගනී, නව පුද්ගල වස්තුවක් නිර්මාණය කරයි, ඒ වගේම යම් පුද්ගල-විශේෂිත තර්කනයක් හැසිරවිය යුතු ආකාරය දන්නා ක්‍රමවේදයක් ක්‍රියාත්මක කරයි. එහිදී ඔබට එය තිබේ. ආදර්ශ-දර්ශන-පාලකය.


1

මම සෑම විටම ආරම්භ කරන්නේ රටාව අලුත් දෙයක් නොවන බවත් වසර ගණනාවක් තිස්සේ පවතින බවත්ය ... මේ අවස්ථාවේදී ඔවුන් මට ගවේෂණාත්මක පෙනුමක් ලබා දෙන අතර BAM! ඔවුන් කොක්කෙන් බැඳී ඇත:

පෙර පිළිතුරු වැනි විවිධ කරුණු ගැන මම බොහෝ සෙයින් කතා කරමි, නමුත් ජේබී කිං පැවසූ පරිදි, ASP.NET MVC යනාදිය, සන්දර්භගත වීම ද වැදගත් යැයි මම සිතමි.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.