6.1 కుళ్ళిపోవడం

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

కొన్నిసార్లు, సరళత కోసం, దీనిని "విభజించు మరియు జయించు" సూత్రం అని పిలుస్తారు, కానీ, సాఫ్ట్‌వేర్ ఆర్కిటెక్ట్ కోణం నుండి, మేము క్రమానుగత కుళ్ళిపోవడం గురించి మాట్లాడుతున్నాము .

సంక్లిష్టమైన వ్యవస్థను తక్కువ సంఖ్యలో సరళమైన ఉపవ్యవస్థల నుండి నిర్మించాలి, వీటిలో ప్రతి ఒక్కటి చిన్న భాగాల నుండి నిర్మించబడింది మరియు తద్వారా చిన్న భాగాలు నేరుగా అర్థం చేసుకోవడానికి మరియు సృష్టించబడేంత సరళంగా ఉంటాయి.

కుళ్ళిపోవడం

గొప్ప వార్త ఏమిటంటే, ఈ పరిష్కారం తెలిసినది మాత్రమే కాదు, విశ్వవ్యాప్తం కూడా. సంక్లిష్టతను తగ్గించడంతో పాటు, ఇది ఏకకాలంలో సిస్టమ్ సౌలభ్యాన్ని , మంచి స్కేలబిలిటీని మరియు క్లిష్టమైన భాగాలను నకిలీ చేయడం ద్వారా పెరిగిన స్థితిస్థాపకతను అందిస్తుంది.

దీని ప్రకారం, ప్రోగ్రామ్ యొక్క నిర్మాణాన్ని నిర్మించడం, దాని నిర్మాణాన్ని సృష్టించడం విషయానికి వస్తే, ప్రోగ్రామ్‌ను సబ్‌సిస్టమ్‌లు, సేవలు, లేయర్‌లు, సబ్‌రూటీన్‌లు మరియు ఫంక్షనల్ మాడ్యూల్స్‌గా విడదీయడం మరియు ఒకదానికొకటి మరియు బయటి ప్రపంచంతో వాటి పరస్పర చర్యను నిర్వహించడం.

మరియు ఇక్కడ అత్యంత విలువైన విషయం ఏమిటంటే: ఉపవ్యవస్థలు మరింత స్వతంత్రంగా ఉంటే, వాటిలో ప్రతి ఒక్కటి అభివృద్ధిపై ప్రత్యేకంగా ఒక నిర్దిష్ట సమయంలో దృష్టి పెట్టడం సురక్షితం మరియు అన్ని ఇతర భాగాల గురించి చింతించకూడదు.

6.2 మాడ్యులర్ ఆర్కిటెక్చర్ యొక్క ప్రయోజనాలు

క్రమానుగత కుళ్ళిపోయే సూత్రాన్ని ఉపయోగించడం వలన మీ కోడ్ యొక్క వేలాది తరగతులలో గందరగోళాన్ని వదిలించుకోవడానికి మిమ్మల్ని అనుమతిస్తుంది. మీ కోడ్ ప్యాకేజీలు (ప్యాకేజీ) మరియు ఉపప్యాకేజీలుగా విభజించబడిందని గుర్తుంచుకోవాలా? ఇది క్రమానుగత కుళ్ళిపోవడానికి వ్యక్తీకరణలలో ఒకటి.

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

ఇక్కడ అత్యంత ప్రాథమికమైనవి:

  • స్కేలబిలిటీ - కొత్త మాడ్యూళ్లను జోడించడం ద్వారా సిస్టమ్‌ను విస్తరించే మరియు దాని పనితీరును పెంచే సామర్థ్యం.
  • నిర్వహణ - ఒక మాడ్యూల్‌ని మార్చడానికి ఇతర మాడ్యూళ్లను మార్చాల్సిన అవసరం లేదు.
  • మాడ్యూల్స్ స్వాపబిలిటీ (స్వాపబిలిటీ) - మాడ్యూల్ సులభంగా మరొకదానితో భర్తీ చేయబడుతుంది.
  • యూనిట్ టెస్టింగ్ - ఒక యూనిట్ మిగతా వాటి నుండి వేరు చేయబడుతుంది మరియు పరీక్షించబడుతుంది/రిపేర్ చేయబడుతుంది .
  • పునర్వినియోగం - మాడ్యూల్‌ను ఇతర ప్రోగ్రామ్‌లు మరియు ఇతర పరిసరాలలో తిరిగి ఉపయోగించవచ్చు.
  • నిర్వహణ - మాడ్యూల్స్‌గా విభజించబడిన ప్రోగ్రామ్ అర్థం చేసుకోవడం మరియు నిర్వహించడం సులభం.

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

అందువల్ల, ఒక రూపంలో లేదా మరొక రూపంలో చాలా నిర్వచనాలు క్రింది విధంగా ఉంటాయి:

" ఆర్కిటెక్చర్ సిస్టమ్ యొక్క ప్రధాన భాగాలను మరియు అవి ఎలా పరస్పరం సంకర్షణ చెందుతాయో గుర్తిస్తుంది. అటువంటి నిర్ణయాల ఎంపిక కూడా ప్రాథమికమైనది మరియు భవిష్యత్తులో మార్పుకు లోబడి ఉండదు ."

" ఆర్కిటెక్చర్ అనేది ఒక వ్యవస్థ యొక్క సంస్థ, దాని భాగాలలో మూర్తీభవించినది, ఒకదానితో ఒకటి మరియు పర్యావరణంతో వాటి సంబంధం. వ్యవస్థ అనేది ఒక నిర్దిష్ట పనితీరును నిర్వహించడానికి మిళితం చేయబడిన భాగాల సమితి ."

అందువలన, ఒక మంచి నిర్మాణం, మొదటగా, మాడ్యులర్ / బ్లాక్ ఆర్కిటెక్చర్ . మంచి నిర్మాణాన్ని పొందడానికి, మీరు వ్యవస్థను ఎలా సరిగ్గా కుళ్ళిపోవాలో తెలుసుకోవాలి. దీని అర్థం ఏ కుళ్ళిపోవడాన్ని “సరైనది”గా పరిగణిస్తారో మరియు దానిని ఎలా నిర్వహించడం ఉత్తమమో అర్థం చేసుకోవడం అవసరం.