𝗠𝗘𝗥𝗡 𝗦𝘁𝗮𝗰𝗸 నేర్చుకోవడంలో 𝟰𝟴వ రోజు

నా ఫుల్-స్టాక్ ఇంజనీరింగ్ ప్రయాణంలో నేను 48వ రోజులో ఉన్నాను.

నిన్న, నేను నా కోడ్‌ను MVC ఆర్కిటెక్చర్‌కు మార్చాను. ఈరోజు, JavaScript Classes మరియు Object-Oriented Programming ఉపయోగించి నా మోడల్ లేయర్‌ను మెరుగుపరిచాను.

నేను లూజ్ ఆబ్జెక్ట్ డెఫినిషన్లను (loose object definitions) ఉపయోగించడం మానేశాను. దానికి బదులుగా, ఫైల్ ఆపరేషన్లు మరియు డేటా స్టోరేజ్‌ను నిర్వహించడానికి పునర్వినియోగపరచదగిన (reusable) క్లాస్‌లను నిర్మించాను. ఈ మార్పు సాధారణ స్క్రిప్ట్‌లను స్కేలబుల్ ఇంజన్‌లుగా మారుస్తుంది.

home.jsలో నేను నా కోడ్‌ను ఎలా రూపొందించానో ఇక్కడ ఉంది:

  • The Constructor: ఒక ప్రామాణిక డేటా మోల్డ్‌ను సృష్టించడానికి నేను ES6 class ఫ్రేమ్‌వర్క్‌ను ఉపయోగిస్తాను. ప్రతి హౌస్ ఎంట్రీలో ఇప్పుడు పేరు, ధర, లొకేషన్, రేటింగ్ మరియు ఫోటో URL ఉంటాయి. ఇది సర్వర్‌లో డేటా స్థిరత్వాన్ని (data consistency) నిర్ధారిస్తుంది.

  • The Save Method: నేను ఒక .save() మెథడ్‌ను సృష్టించాను. ఈ మెథడ్ ఉన్న డేటాను అసింక్రోనస్‌గా (asynchronously) చదువుతుంది. ఆపై homesdata.json ఫైల్‌ను అప్‌డేట్ చేయడానికి fs.writeFile()ని ఉపయోగిస్తుంది. ఇది గ్లోబల్ అర్రేల (global arrays) స్థానంలో నియంత్రిత స్టోరేజ్ ప్రక్రియను ప్రవేశపెడుతుంది.

  • Static Methods: డేటా రిట్రీవల్ కోసం నేను స్టాటిక్ మెథడ్స్‌ను అమలు చేశాను. డిస్క్ నుండి రికార్డులను పొందడానికి నేను static fetchAll()ని ఉపయోగిస్తాను. ఇది కొత్త క్లాస్ ఇన్‌స్టెన్స్‌ను సృష్టించకుండానే కంట్రోలర్లు డేటాను యాక్సెస్ చేయడానికి అనుమతిస్తుంది.

క్లాస్‌లను ఉపయోగించడం వల్ల నా కోడ్ మరింత శుభ్రంగా మరియు స్కేల్ చేయడం సులభంగా మారుతుంది.

Source: https://dev.to/ali_hamza_589ec7b3eb6688d/day-48-of-leaning-mern-stack-123n