"హాయ్, అమిగో!"

"హాయ్, బిలాబో!"

"మీరు ఇప్పటికే దృఢమైన ప్రోగ్రామర్. కాబట్టి, ఈ రోజు మనం MVC గురించి పాఠం చెప్పబోతున్నాం."

"MVC అంటే మోడల్ - వ్యూ - కంట్రోలర్ . ఇది పెద్ద అప్లికేషన్‌ల కోసం ఆర్కిటెక్చరల్ డిజైన్ నమూనా, ఇక్కడ అప్లికేషన్ మూడు భాగాలుగా విభజించబడింది."

"మొదటి భాగం అప్లికేషన్ యొక్క అన్ని వ్యాపార లాజిక్‌లను కలిగి ఉంది. ఈ భాగాన్ని మోడల్ అంటారు . ఇది అప్లికేషన్ సృష్టించిన ప్రతి పనిని చేసే కోడ్‌ను కలిగి ఉంటుంది. ఈ భాగం ఇతరులపై చాలా తక్కువగా ఆధారపడి ఉంటుంది."

"రెండవ భాగం వినియోగదారుకు డేటాను ప్రదర్శించడానికి సంబంధించిన ప్రతిదీ కలిగి ఉంది. ఈ భాగాన్ని వీక్షణ అంటారు . ఇది విండోలు, పేజీలు, సందేశాలు మొదలైనవాటిని ప్రదర్శించడాన్ని నియంత్రించే కోడ్‌ను కలిగి ఉంటుంది."

"మూడవ భాగం వినియోగదారు చర్యలను ప్రాసెస్ చేసే కోడ్‌ను కలిగి ఉంది . మోడల్‌ను మార్చడానికి ఉద్దేశించిన ఏదైనా వినియోగదారు చర్యలు ఇక్కడ నిర్వహించబడతాయి. ఈ భాగాన్ని కంట్రోలర్ అంటారు   . "

"ఈ విధానం మూడు విషయాలను స్వతంత్రంగా సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది:  ప్రోగ్రామ్ యొక్క లాజిక్ (మోడల్) , ప్రోగ్రామ్ యొక్క డేటాను వినియోగదారుకు (వీక్షణ) ప్రదర్శించే విధానం మరియు వినియోగదారు ఇన్‌పుట్/చర్యల కోసం హ్యాండ్లర్ (నియంత్రకం) ."

"అప్లికేషన్‌లు తరచుగా అనేక వీక్షణలను కలిగి ఉంటాయి. ఇది సాధారణం. మీరు Excelలో సంఖ్యలు మరియు రేఖాచిత్రాలు రెండింటిలోనూ ఖచ్చితమైన డేటాను వీక్షించవచ్చు. గేమ్‌లలో, మీరు మొదటి వ్యక్తి, మూడవ వ్యక్తి లేదా మ్యాప్ వీక్షణతో పాటు అనేక ఇతర ఈవెంట్‌లను వీక్షించవచ్చు. . ఇవన్నీ ఒకే మోడల్‌కు భిన్నమైన అభిప్రాయాలు ."

"వినియోగదారు చర్యలకు ప్రతిస్పందనగా మోడల్‌లో ఏమి మార్చాలో నిర్ణయించే కోడ్ మొత్తం కంట్రోలర్‌లో సేకరించబడుతుంది . ఉదాహరణకు, వినియోగదారు ప్రోగ్రామ్‌ను మూసివేయాలని నిర్ణయించుకుంటే, మీరు డిస్క్‌లోని ఫైల్‌లో మోడల్ డేటాను సేవ్ చేయాలి. లేదా వినియోగదారు కొత్త డేటాను నమోదు చేస్తే, మీరు దానిని మోడల్‌కు జోడించాలి. మోడల్ డేటా మార్పుల గురించి అన్ని వీక్షణలను తెలియజేస్తుంది, కాబట్టి వారు డేటా యొక్క ప్రస్తుత స్థితిని మాత్రమే ప్రదర్శిస్తారు."

"అది మరల చెప్పు."

"జావా డెవలపర్ దృక్కోణంలో, మోడల్, వీక్షణ మరియు కంట్రోలర్ అనేవి మూడు తరగతుల సమూహాలుగా చెప్పవచ్చు:"

" a)  ప్రతి భాగానికి దాని స్వంత ప్రయోజనం ఉంటుంది;"

" బి)  ఒకే సమూహంలోని తరగతుల మధ్య సంబంధాలు చాలా బలంగా ఉన్నాయి;"

" సి)  సమూహాల మధ్య సంబంధాలు చాలా బలహీనంగా ఉన్నాయి;"

" d)  భాగాలు ఒకదానితో ఒకటి సంభాషించుకునే మార్గాలు భారీగా నియంత్రించబడతాయి."

"మరియు దీన్ని చిత్రీకరించడానికి ఇక్కడ మరొక మార్గం ఉంది:

MVC - 1

"మోడల్ అనేది సిస్టమ్ యొక్క అత్యంత స్వతంత్ర భాగం . ఇది వీక్షణ లేదా కంట్రోలర్‌పై ఆధారపడి ఉండదు. మోడల్ వీక్షణ లేదా కంట్రోలర్ సమూహాల(!) నుండి తరగతులను ఉపయోగించదు."

"వీక్షణ యొక్క ప్రాథమిక పరిమితి ఏమిటంటే ఇది మోడల్‌ను మార్చదు . వీక్షణ తరగతులు డేటా కోసం మోడల్‌ను యాక్సెస్ చేయగలవు లేదా ఈవెంట్‌లకు సభ్యత్వాన్ని పొందగలవు, కానీ వీక్షణ తరగతులు మోడల్‌ను మార్చలేవు."

"కంట్రోలర్ యొక్క ప్రాథమిక పరిమితి ఏమిటంటే ఇది డేటాను ప్రదర్శించదు . నియంత్రిక వినియోగదారు చర్యలను ప్రాసెస్ చేస్తుంది మరియు తదనుగుణంగా మోడల్‌ను సవరిస్తుంది."

"అయితే నాకు ఇది ఎందుకు అవసరం?"

"మీరు దీన్ని ప్రస్తుతం ఉపయోగించనందున, మీరు సమీప భవిష్యత్తులో దీనిని ఉపయోగించరని అర్థం కాదు. మీరు ఉద్యోగం పొందడానికి ఇక్కడ చదువుతున్నారు. మరియు ఈ జ్ఞానం ఉపయోగకరంగా లేనప్పటికీ చదువుతున్నప్పుడు, పని చేస్తున్నప్పుడు ఇది ఖచ్చితంగా ఉపయోగపడుతుంది."

"అన్నింటికంటే, నిజమైన ప్రాజెక్ట్‌లు మరియు ఇంటర్వ్యూలు ఇంకా మీ కోసం వేచి ఉన్నాయి ..."

"మేము ఇప్పుడు ఇక్కడ కలిసి మాట్లాడుతున్నాము, కానీ బహుశా ఒక నెలలో మీరు ఇప్పటికే పని చేస్తారు."

"నువ్వు చెప్పింది నిజమే, బిలాబో. నేను నీ మాట జాగ్రత్తగా వింటాను."

"అప్లికేషన్ ఆర్కిటెక్చర్‌లో MVC నమూనా చాలా సాధారణం. మీరు దానిని తెలుసుకోవాలి, తద్వారా మీరు అకస్మాత్తుగా మోడల్‌కి వీక్షణ తరగతులను జోడించడం ప్రారంభించరు, ఎందుకంటే మీరు ఆ మార్గం మరింత సౌకర్యవంతంగా ఉంటుంది."

"ఏదైనా ప్రాజెక్ట్‌లో అత్యంత ముఖ్యమైన విషయం దాని నిర్మాణం.  ఈ దశలో మీ పని మంచి నిర్మాణాన్ని సృష్టించడం కాదు, అది ఇతరులను అర్థం చేసుకోవడం నేర్చుకోవడం. మీరు ఇంకా ఎదగవలసి ఉంటుంది. మీరు మీ స్వంతంగా సృష్టించడానికి కొన్ని సంవత్సరాల ముందు. కానీ ఇతరులు ఏమి సృష్టించారో మీరు అర్థం చేసుకోవాలి. వెంటనే."

"ఒక అప్లికేషన్ ప్రామాణిక నిర్మాణాన్ని ఉపయోగించినప్పుడు, ప్రతిదీ చాలా స్పష్టంగా మారుతుంది. ఆర్కిటెక్చర్ తెలుసుకోవడం ద్వారా, విషయాలు ఎక్కడ ఉన్నాయి, ప్రతిదీ ఎలా సంకర్షణ చెందుతుంది, ప్రోగ్రామ్ ఎలా పని చేస్తుందో, అవసరమైన తరగతిని ఎక్కడ జోడించాలి మరియు కారణాన్ని ఎక్కడ శోధించాలో మీకు తెలుస్తుంది. ఒక బగ్."

"కానీ, మీకు ఆర్కిటెక్చర్‌లో ప్రామాణిక విధానాలు తెలియకపోతే, అత్యుత్తమ వాస్తుశిల్పం కూడా మీకు ఏమీ చెప్పదు. మీరు కొత్త కారును చూస్తున్న మధ్య వయస్సు నుండి వచ్చిన రైతులా ఉంటారు. ఒక ప్రామాణిక కారు."

"నేను చూస్తున్నాను. ఆసక్తికరమైన పాఠానికి ధన్యవాదాలు, బిలాబో."

"చివరిగా, మీరు ఖచ్చితంగా తనిఖీ చేయవలసిన మంచి లింక్ ఇక్కడ ఉంది:"

అదనపు మెటీరియల్‌కి లింక్ చేయండి