Loose coupling
கணினி மற்றும் அமைப்புகளின் வடிவமைப்பில், தளர்வாக இணைக்கப்பட்ட அமைப்பு என்பது கூறுகள் ஒருவருக்கொருவர் பலவீனமாக தொடர்புடையவை (உடைக்கக்கூடிய உறவுகளைக் கொண்டுள்ளன), இதனால் ஒரு கூறுகளில் ஏற்படும் மாற்றங்கள் மற்றொரு கூறுகளின் இருப்பு அல்லது செயல்திறனை குறைந்தபட்சம் பாதிக்கின்றன. இதில் அதன் ஒவ்வொரு கூறுகளும் மற்ற தனித்தனி கூறுகளின் வரையறைகளைப் பற்றிய அறிவை குறைவாகவோ அல்லது பயன்படுத்தவோ இல்லை. துணைப் பகுதிகள் வகுப்புகள், இடைமுகங்கள், தரவு மற்றும் சேவைகளின் இணைப்பை உள்ளடக்கியது. தளர்வான இணைப்பு என்பது இறுக்கமான இணைப்புக்கு எதிரானது. ஒரு தளர்வாக இணைக்கப்பட்ட அமைப்பில் உள்ள கூறுகள் அதே சேவைகளை வழங்கும் மாற்று செயல்பாடுகளுடன் மாற்றப்படலாம். தளர்வாக இணைக்கப்பட்ட அமைப்பில் உள்ள கூறுகள் ஒரே தளம், மொழி, இயக்க முறைமை அல்லது கட்டமைக்கப்பட்ட சூழலுக்கு குறைவாக கட்டுப்படுத்தப்படுகின்றன. அமைப்புகள் சரியான நேரத்தில் துண்டிக்கப்பட்டால், பரிவர்த்தனை ஒருமைப்பாட்டை வழங்குவதும் கடினம்; கூடுதல் ஒருங்கிணைப்பு நெறிமுறைகள் தேவை. வெவ்வேறு அமைப்புகளில் தரவு பிரதி தளர்வான இணைப்பை வழங்குகிறது (கிடைக்கும் நிலையில்), ஆனால் நிலைத்தன்மையை பராமரிப்பதில் சிக்கல்களை உருவாக்குகிறது (தரவு ஒத்திசைவு). ஒருங்கிணைப்பில், பரந்த விநியோகிக்கப்பட்ட அமைப்பு வடிவமைப்பில் லூஸ் கப்லிங் பரிவர்த்தனைகள், செய்தி சார்ந்த மிடில்வேர் மற்றும் இயங்கக்கூடிய தரநிலைகளால் வழங்கப்பட்ட வரிசைகள் ஆகியவற்றைப் பயன்படுத்துவதன் மூலம் அடையப்படுகிறது. தளர்வான இணைப்பை ஊக்குவிக்கும் நான்கு வகையான சுயாட்சிகள்ஃ குறிப்பு சுயாட்சி, நேர சுயாட்சி, வடிவமைப்பு சுயாட்சி மற்றும் தள சுயாட்சி. சேவை சார்ந்த கட்டமைப்புகளில் தளர்வான இணைப்பு என்பது ஒரு கட்டிடக்கலை கொள்கை மற்றும் வடிவமைப்பு இலக்காகும்; தளர்வான இணைப்பின் பதினொரு வடிவங்கள் மற்றும் அவற்றின் இறுக்கமான இணைப்பு சகாக்கள் பின்வருவனவற்றில் பட்டியலிடப்பட்டுள்ளனஃ மத்தியஸ்தர் வழியாக இயற்பியல் இணைப்புகள், ஒத்திசைவற்ற தகவல்தொடர்பு பாணி, தரவு மாதிரியில் மட்டுமே எளிய பொதுவான வகைகள், பலவீனமான வகை அமைப்பு, தரவு மையப்படுத்தப்பட்ட மற்றும் தன்னிறைவு கொண்ட செய்திகள், செயல்முறை தர்க்கத்தின் விநியோகிக்கப்பட்ட கட்டுப்பாடு, மாறும் பிணைப்பு (சேவை நுகர்வோர் மற்றும் வழங்குநர்களின்), தள சுதந்திரம், கணினி நிலை பரிவர்த்தனைகளை விட வணிக நிலை இழப்பீடு, வெவ்வேறு நேரங்களில் வரிசைப்படுத்துதல், பதிப்பில் மறைமுக மேம்பாடுகள். எண்டர்பிரைஸ் சர்வீஸ் பஸ் (ஈ. எஸ். பி) மிடில்வேர் பல பரிமாணங்களில் தளர்வான இணைப்பை அடைய கண்டுபிடிக்கப்பட்டது; இருப்பினும், அதிகப்படியான வடிவமைக்கப்பட்ட மற்றும் தவறாக நிலைநிறுத்தப்பட்ட ஈ. எஸ். பி. களும் இதற்கு நேர்மாறான விளைவை ஏற்படுத்தலாம் மற்றும் விரும்பத்தகாத இறுக்கமான இணைப்பையும் மைய கட்டிடக்கலை ஹாட்ஸ்பாட்டையும் உருவாக்கலாம். நிகழ்வு-உந்துதல் கட்டிடக்கலை தளர்வான இணைப்பை ஊக்குவிப்பதையும் நோக்கமாகக் கொண்டுள்ளது. இணைப்பைக் குறைப்பதற்கான முறைகள் இடைமுகங்களின் தளர்வான இணைப்பை தரவை ஒரு நிலையான வடிவத்தில் (எக்ஸ்எம்எல் அல்லது ஜேஎஸ்ஓஎன் போன்றவை) வெளியிடுவதன் மூலம் மேம்படுத்தலாம். அளவுருக்களில் நிலையான தரவு வகைகளைப் பயன்படுத்துவதன் மூலம் நிரல் கூறுகளுக்கு இடையிலான தளர்வான இணைப்பை மேம்படுத்தலாம். தனிப்பயனாக்கப்பட்ட தரவு வகைகள் அல்லது பொருள்களை அனுப்புவதற்கு இரு கூறுகளும் தனிப்பயன் தரவு வரையறையைப் பற்றிய அறிவைக் கொண்டிருக்க வேண்டும். முக்கிய தரவுகளுக்கு ஒரு சேவையில் அனுப்பப்படும் தகவல்களைக் குறைப்பதன் மூலம் சேவைகளின் தளர்வான இணைப்பை மேம்படுத்தலாம். எடுத்துக்காட்டாக, ஒரு கடிதத்தை அனுப்பும் ஒரு சேவை, வாடிக்கையாளர் அடையாளங்காட்டி மட்டுமே அனுப்பப்பட்டு, சேவைக்குள் வாடிக்கையாளர் முகவரி பெறப்படும்போது மிகவும் மீண்டும் பயன்படுத்தப்படுகிறது. சேவைகளை ஒரு குறிப்பிட்ட வரிசையில் அழைக்க வேண்டிய அவசியமில்லை என்பதால் இது சேவைகளை துண்டிக்கிறது (எ. கா. வாடிக்கையாளர் முகவரி பெறுங்கள், SendLetter). நிரலாக்கத்தில் இணைப்பு என்பது ஒரு கூறு மற்றொரு கூறு பற்றிய நேரடி அறிவின் அளவைக் குறிக்கிறது. கம்ப்யூட்டிங்கில் தளர்வான இணைப்பு என்கேப்சுலேஷன் எதிராக அல்லாத என்கேப்சுலேஷன் என விளக்கப்படுகிறது. இறுக்கமான இணைப்புக்கு ஒரு எடுத்துக்காட்டு, ஒரு சார்பு வகுப்பில் ஒரு கான்கிரீட் வகுப்பிற்கு நேரடியாக ஒரு சுட்டிக்காட்டி இருக்கும்போது ஏற்படுகிறது, இது தேவையான நடத்தையை வழங்குகிறது. சார்பு வர்க்கத்திற்கு ஒரு மாற்றம் தேவையில்லாமல், சார்பு மாற்றப்படவோ அல்லது அதன் "கையொப்பத்தை" மாற்றவோ முடியாது. சார்பு வகுப்பில் ஒரு இடைமுகத்திற்கு மட்டுமே ஒரு சுட்டிக்காட்டி இருக்கும்போது தளர்வான இணைப்பு ஏற்படுகிறது, பின்னர் அதை ஒன்று அல்லது பல கான்கிரீட் வகுப்புகளால் செயல்படுத்த முடியும். இது சார்பு தலைகீழ் என்று அழைக்கப்படுகிறது. சார்பு வர்க்கத்தின் சார்பு இடைமுகத்தால் குறிப்பிடப்பட்ட ஒரு "ஒப்பந்தத்திற்கு" உள்ளது; வகுப்புகளை செயல்படுத்தும் முறைகள் மற்றும்/அல்லது பண்புகளின் வரையறுக்கப்பட்ட பட்டியல் வழங்க வேண்டும். இடைமுகத்தை செயல்படுத்தும் எந்த வகுப்பும் வகுப்பை மாற்றாமல் ஒரு சார்பு வகுப்பின் சார்புநிலையை திருப்திப்படுத்த முடியும். இது மென்பொருள் வடிவமைப்பில் விரிவாக்கத்தை அனுமதிக்கிறது; ஒரு இடைமுகத்தை செயல்படுத்தும் ஒரு புதிய வகுப்பை சில அல்லது அனைத்து சூழ்நிலைகளிலும் தற்போதைய சார்புநிலையை மாற்றுவதற்கு எழுதலாம், சார்பு வகுப்பில் மாற்றம் தேவையில்லை; புதிய மற்றும் பழைய வகுப்புகள் சுதந்திரமாக பரிமாறிக்கொள்ளப்படலாம். வலுவான இணைப்பு இதை அனுமதிக்காது. இது ஒரு சார்பு வர்க்கத்திற்கும் கான்கிரீட் வகுப்புகளின் தொகுப்புக்கும் இடையிலான தளர்வான இணைப்புக்கு ஒரு எடுத்துக்காட்டு, இது தேவையான நடத்தையை வழங்குகிறதுஃ ஒப்பீட்டிற்கு, இந்த வரைபடம் சார்பு வர்க்கத்திற்கும் வழங்குநருக்கும் இடையிலான வலுவான இணைப்புடன் மாற்று வடிவமைப்பை விளக்குகிறதுஃ பிற வடிவங்கள் கணினி நிரலாக்க மொழிகள் மைய தொகுதியாக செயல்பாடுகளைக் கொண்டுள்ளன (செயல்பாட்டு நிரலாக்கத்தைப் பார்க்கவும்) அல்லது பொருள்களாக செயல்பாடுகளைக் கொண்டுள்ளன தளர்வாக இணைக்கப்பட்ட நிரலாக்கத்தின் சிறந்த எடுத்துக்காட்டுகளை வழங்குகின்றன. செயல்பாட்டு மொழிகள் தொடர்ச்சிகள், மூடல் அல்லது ஜெனரேட்டர்களின் வடிவங்களைக் கொண்டுள்ளன. செயல்பாட்டு நிரலாக்க மொழிகளின் எடுத்துக்காட்டுகளாக க்ளோஜூர் மற்றும் லிஸ்ப் ஆகியவற்றைப் பார்க்கவும். ஸ்மால்டாக் மற்றும் ரூபி போன்ற பொருள் சார்ந்த மொழிகள் குறியீடு தொகுதிகளைக் கொண்டுள்ளன, அதே நேரத்தில் ஈஃபிள் முகவர்களைக் கொண்டுள்ளது. அடிப்படை யோசனை என்னவென்றால், வேறு எந்த இணைக்கப்பட்ட கருத்திலிருந்தும் சுயாதீனமான ஒரு செயல்பாட்டை புறநிலைப்படுத்துவதாகும் (எ. கா. இணைக்கப்பட்ட பொருளைப் பற்றிய எந்தவொரு நேரடி அறிவிலிருந்தும் ஒரு பொருள் செயல்பாட்டை துண்டித்தல்). பொருள்களாக செயல்பாடுகளைப் பற்றிய கூடுதல் நுண்ணறிவுக்கு முதல் வகுப்பு செயல்பாட்டைப் பார்க்கவும், இது முதல் வகுப்பு செயல்பாட்டின் ஒரு வடிவமாக தகுதி பெறுகிறது. எனவே, எடுத்துக்காட்டாக, ஒரு பொருள் சார்ந்த மொழியில், ஒரு பொருளின் செயல்பாடு ஒரு பொருளாக குறிப்பிடப்படும்போது (அதன் சூழப்பட்ட புரவலன் பொருளைப் பற்றிய எந்த அறிவையும் கொண்டிருப்பதில் இருந்து அதை விடுவிக்கிறது) புதிய செயல்பாட்டு பொருளை அனுப்பலாம், சேமிக்கலாம் மற்றும் அழைக்கலாம். பெறுநர் பொருள்கள் (இந்த செயல்பாட்டு பொருள்கள் யாருக்கு வழங்கப்படுகின்றன) இணைக்கப்பட்ட புரவலன் பொருளைப் பற்றிய நேரடி அறிவு இல்லாமல் தங்கள் சொந்த வசதியில் உள்ள செயல்பாட்டை பாதுகாப்பாக இயக்க (அழைக்க) முடியும். இந்த வழியில், ஒரு நிரல் சங்கிலிகள் அல்லது செயல்பாட்டு பொருட்களின் குழுக்களை இயக்க முடியும், அதே நேரத்தில் பாதுகாப்பாக இணைக்கப்பட்ட புரவலன் பொருளைப் பற்றிய நேரடி குறிப்பைக் கொண்டிருப்பதில் இருந்து பிரிக்கப்படுகிறது. தொலைபேசி எண்கள் ஒரு சிறந்த அனலாக் மற்றும் இந்த டீகப்பிளிங்கின் அளவை எளிதில் விளக்க முடியும். எடுத்துக்காட்டாகஃ ஒரு குறிப்பிட்ட வேலையைச் செய்ய ஒரு நிறுவனம் மற்றொரு நிறுவனத்திற்கு ஒரு தொலைபேசி எண்ணை வழங்குகிறது. எண்ணை அழைக்கும்போது, அழைப்பு நிறுவனம் திறம்பட, "தயவுசெய்து எனக்காக இந்த வேலையைச் செய்யுங்கள்" என்று கூறுகிறது. துண்டிக்கப்படுதல் அல்லது தளர்வான இணைப்பு உடனடியாக தெளிவாகத் தெரிகிறது. அழைக்க எண்ணைப் பெறும் நிறுவனத்திற்கு அந்த எண் எங்கிருந்து வந்தது என்பது தெரியாது (எ. கா. எண்ணை வழங்குபவரைப் பற்றிய குறிப்பு). மறுபுறம், அழைப்பவர் அவர்கள் யாரை அழைக்கிறார்கள், அவர்கள் எங்கே இருக்கிறார்கள், அழைப்பைப் பெறுபவர் உள்நாட்டில் எவ்வாறு செயல்படுகிறார் என்பதைப் பற்றிய குறிப்பிட்ட அறிவிலிருந்து பிரிக்கப்படுகிறார். உதாரணத்தை ஒரு படி மேலே கொண்டு சென்றால், அழைப்பாளர் அழைப்பைப் பெறுபவரிடம், "தயவுசெய்து எனக்காக இந்த வேலையைச் செய்யுங்கள்" என்று கூறலாம். நீங்கள் முடித்ததும் இந்த எண்ணில் என்னை மீண்டும் அழைக்கவும் ". பெறுநருக்கு வழங்கப்படும் 'எண்' 'கால்-பேக்' என்று குறிப்பிடப்படுகிறது. மீண்டும், இந்த செயல்பாட்டு பொருளின் தளர்வான இணைப்பு அல்லது துண்டிக்கப்பட்ட தன்மை வெளிப்படையானது. அழைப்பு திரும்பப் பெறுபவருக்கு என்ன அல்லது யார் அழைக்கப்படுகிறார்கள் என்பது தெரியாது. அது மட்டுமே அழைப்பு செய்ய முடியும் என்று தெரியும் மற்றும் எப்போது அழைக்க வேண்டும் என்பதை தானே தீர்மானிக்கிறது. உண்மையில், கால்-பேக் முதலில் அழைப்பு-பேக்கை வழங்கியவருக்கு கூட இருக்காது. இந்த அளவிலான திசைதிருப்பல் செயல்பாட்டு பொருள்களை தளர்வாக இணைக்கப்பட்ட நிரல்களை அடைவதற்கான சிறந்த தொழில்நுட்பமாக ஆக்குகிறது. தளர்வாக இணைக்கப்பட்ட கூறுகளுக்கு இடையிலான தொடர்பு குறிப்பிடப்பட்ட ஒத்திசைவற்ற தகவல்தொடர்பு பாணி அல்லது ஒத்திசைவான செய்தி அனுப்பும் பாணி போன்ற வழிமுறைகளின் தாவரத்தை அடிப்படையாகக் கொண்டிருக்கலாம் தரவு உறுப்பு இணைப்பை அளவிடுதல் அனுப்பும் அல்லது பெறும் அமைப்புகளில் ஏற்படக்கூடிய தரவு கூறுகளில் ஏற்படும் மாற்றங்களின் எண்ணிக்கையைக் குறிப்பதன் மூலமும், கணினிகள் தொடர்ந்து சரியாக தொடர்பு கொள்கின்றனவா என்பதை தீர்மானிப்பதன் மூலமும் தளர்வான இணைப்பின் அளவை அளவிட முடியும். இந்த மாற்றங்களில் பின்வருவன அடங்கும்ஃ செய்திகளில் புதிய தரவு கூறுகளைச் சேர்ப்பது தரவு கூறுகளின் வரிசையை மாற்றுவது தரவு கூறுகளின் பெயர்களை மாற்றுவது தரவு கூறுகளின் கட்டமைப்புகளை மாற்றுவது தரவு கூறுகளைத் தவிர்ப்பது மேலும் காண்க அடுக்கடுக்கான தோல்வி ஒத்திசைவு (கணினி அறிவியல்) ஒருங்கிணைப்பு (கணினி அறிவியல்) இணைப்பு (கணினி அறிவியல்) நிறுவன சேவை பேருந்து பயன்பாட்டு நிரலாக்க இடைமுகம் டிமீட்டர் பிரிவின் சட்டம் சேவை சார்ந்த கட்டமைப்பைப் பற்றிய கவலைகள் விண்வெளி அடிப்படையிலான கட்டமைப்பு (எஸ். பி. ஏ) நிறுவன குறிப்புகள் பயன்பாட்டு ஒருங்கிணைப்பு சேவை சார்ந்த (வணிகக் கணினி) நிரலாக்கக் கொள்கைகள் மென்பொருள் தரம்