CodeGym/Java Course/தொகுதி 3/மென்பொருள் தொகுதிகளுக்கு இடையில் இணைப்பை எவ்வாறு தளர்த்து...

மென்பொருள் தொகுதிகளுக்கு இடையில் இணைப்பை எவ்வாறு தளர்த்துவது

கிடைக்கப்பெறுகிறது

8.1 சிதைவு எல்லாமே

தெளிவுக்காக, ஒரு நல்ல கட்டுரையில் இருந்து ஒரு படம் "பொருள் சார்ந்த அமைப்புகளின் துண்டித்தல்", விவாதிக்கப்படும் முக்கிய புள்ளிகளை விளக்குகிறது.

சிதைவு

பயன்பாட்டு கட்டமைப்பை வடிவமைப்பது எளிதானது என்று நீங்கள் இன்னும் நினைக்கிறீர்களா?

8.2 இடைமுகங்கள், செயல்படுத்தல் மறைத்தல்

அமைப்பின் இணைப்பினைக் குறைப்பதற்கான முக்கியக் கொள்கைகள் OOP இன் கொள்கைகள் மற்றும் அவற்றின் பின்னால் உள்ள என்காப்சுலேஷன் + சுருக்கம் + பாலிமார்பிசம் கொள்கை ஆகும்.

அதனால் தான்:

  • தொகுதிகள் ஒன்றுக்கொன்று "கருப்புப் பெட்டிகளாக" இருக்க வேண்டும் (இணைப்பு) . இதன் பொருள் ஒரு தொகுதி மற்றொரு தொகுதிக்குள் "ஏறக்கூடாது" மற்றும் அதன் உள் அமைப்பைப் பற்றி எதுவும் தெரிந்து கொள்ளக்கூடாது. ஒரு துணை அமைப்பில் உள்ள பொருள்கள் மற்றொரு துணை அமைப்பில் உள்ள பொருட்களை நேரடியாக அணுகக்கூடாது.
  • தொகுதிகள்/துணை அமைப்புகள் இடைமுகங்கள் (அதாவது, செயல்படுத்தல் விவரங்களைச் சார்ந்து இல்லாத சுருக்கங்கள் ) மூலம் மட்டுமே தொடர்பு கொள்ள வேண்டும் . அதன்படி, ஒவ்வொரு தொகுதியும் மற்ற தொகுதிகளுடன் தொடர்புகொள்வதற்கு நன்கு வரையறுக்கப்பட்ட இடைமுகம் அல்லது இடைமுகங்களைக் கொண்டிருக்க வேண்டும்.

"கருப்பு பெட்டி" (இணைப்பு) கொள்கையானது ஒவ்வொரு துணை அமைப்பின் கட்டமைப்பையும் மற்ற துணை அமைப்புகளிலிருந்து சுயாதீனமாக பரிசீலிக்க அனுமதிக்கிறது. "கருப்புப் பெட்டி"யான தொகுதியை ஒப்பீட்டளவில் சுதந்திரமாக மாற்றலாம். வெவ்வேறு தொகுதிகள் (அல்லது ஒரு தொகுதி மற்றும் சூழல்) சந்திப்பில் மட்டுமே சிக்கல்கள் எழலாம்.

இந்த தொடர்பு மிகவும் பொதுவான (சுருக்க) வடிவத்தில் விவரிக்கப்பட வேண்டும், அதாவது இடைமுகத்தின் வடிவத்தில். இந்த வழக்கில், இடைமுக ஒப்பந்தத்திற்கு இணங்கக்கூடிய எந்தவொரு செயலாக்கத்திலும் குறியீடு ஒரே மாதிரியாக செயல்படும். இது பாலிமார்பிசம் எனப்படும் ஒரு ஒருங்கிணைந்த இடைமுகத்தின் மூலம் வெவ்வேறு செயலாக்கங்களுடன் (தொகுதிகள் அல்லது பொருள்கள்) வேலை செய்யும் திறன் ஆகும்.

அதனால்தான் சர்வ்லெட் ஒரு இடைமுகம் : வலை கொள்கலனுக்கு சர்வ்லெட்களைப் பற்றி எதுவும் தெரியாது, ஏனெனில் இவை சர்வ்லெட் இடைமுகத்தை செயல்படுத்தும் சில பொருள்கள், அவ்வளவுதான். சர்வ்லெட்டுகளுக்கு கொள்கலனின் கட்டமைப்பைப் பற்றி கொஞ்சம் தெரியும். சர்வ்லெட் இடைமுகம் என்பது அந்த ஒப்பந்தம், அந்தத் தரம், ஜாவா வலைப் பயன்பாடுகளை உலகை ஆக்கிரமிப்பதற்குத் தேவையான குறைந்தபட்ச தொடர்பு.

பாலிமார்பிசம் என்பது சில நேரங்களில் தவறாக நம்பப்படுவது போல, முறைகளை மீறுவது அல்ல, ஆனால் முதலில், ஒரே இடைமுகம் அல்லது "ஒரு இடைமுகம், பல செயலாக்கங்கள்" கொண்ட தொகுதிகள் / பொருள்களின் பரிமாற்றம். பாலிமார்பிஸத்தை செயல்படுத்த, பரம்பரை பொறிமுறையே தேவையில்லை. இதைப் புரிந்துகொள்வது முக்கியம், ஏனென்றால் பொதுவாக பரம்பரை முடிந்தவரை தவிர்க்கப்பட வேண்டும் .

இடைமுகங்கள் மற்றும் பாலிமார்பிஸத்திற்கு நன்றி , ஏற்கனவே எழுதப்பட்டதை (திறந்த-மூடப்பட்ட கொள்கை) மாற்றாமல் குறியீட்டை மாற்றியமைக்கும் மற்றும் நீட்டிக்கும் திறன் துல்லியமாக அடையப்படுகிறது.

தொகுதிக்கூறுகளின் தொடர்பு பிரத்தியேகமாக இடைமுகங்களின் வடிவத்தில் விவரிக்கப்படும் வரை மற்றும் குறிப்பிட்ட செயலாக்கங்களுடன் பிணைக்கப்படவில்லை எனில், கணினிக்கு முற்றிலும் "வலியின்றி" ஒரு தொகுதியை அதே இடைமுகத்தை செயல்படுத்தும் மற்றவற்றுடன் மாற்றுவதற்கான வாய்ப்பு உங்களுக்கு உள்ளது. புதிய ஒன்றைச் சேர்த்து அதன் மூலம் செயல்பாட்டை விரிவாக்குங்கள்.

இது LEGO கன்ஸ்ட்ரக்டரில் உள்ளதைப் போன்றது - இடைமுகம் தொடர்புகளை தரப்படுத்துகிறது மற்றும் பொருத்தமான இணைப்புடன் எந்த தொகுதியையும் இணைக்கக்கூடிய ஒரு வகையான இணைப்பாக செயல்படுகிறது.

வடிவமைப்பாளரின் நெகிழ்வுத்தன்மையானது, ஒரே மாதிரியான இணைப்பிகளுடன் (அதே இடைமுகத்துடன்) ஒரு தொகுதி அல்லது பகுதியை மற்றொன்றுடன் மாற்றலாம், அத்துடன் நாம் விரும்பும் பல புதிய பகுதிகளைச் சேர்க்கலாம் (அதே நேரத்தில், ஏற்கனவே இருக்கும்) பாகங்கள் எந்த வகையிலும் மாற்றப்படவில்லை அல்லது மாற்றப்படவில்லை).

இடைமுகங்கள் ஒரு எளிய அமைப்பை உருவாக்க உங்களை அனுமதிக்கின்றன, ஒவ்வொரு துணை அமைப்பையும் ஒட்டுமொத்தமாகக் கருத்தில் கொண்டு அதன் உள் கட்டமைப்பைப் புறக்கணித்துவிடும். அவை தொகுதிகள் தொடர்பு கொள்ள அனுமதிக்கின்றன, அதே நேரத்தில் ஒருவருக்கொருவர் உள் கட்டமைப்பைப் பற்றி எதுவும் தெரியாது, இதன் மூலம் குறைந்தபட்ச அறிவின் கொள்கையை முழுமையாக செயல்படுத்துகிறது, இது தளர்வான இணைப்பின் அடிப்படையாகும்.

மிகவும் பொதுவான/சுருக்கமான இடைமுகங்கள் வரையறுக்கப்படுகின்றன மற்றும் அவை தொடர்புக்கு குறைவான கட்டுப்பாடுகளை விதிக்கின்றன, அமைப்பு மிகவும் நெகிழ்வானது. இங்கிருந்து, SOLID இன் கொள்கைகளில் ஒன்று உண்மையில் பின்பற்றுகிறது - இடைமுகம் பிரித்தல் கோட்பாடு , இது "தடித்த இடைமுகங்களை" எதிர்க்கிறது.

பெரிய, பருமனான இடைமுகங்கள் சிறிய, மிகவும் குறிப்பிட்டதாக உடைக்கப்பட வேண்டும் என்று அவர் கூறுகிறார், இதனால் சிறிய இடைமுகங்களின் வாடிக்கையாளர்களுக்கு (தொகுதிகள் சார்ந்து) அவர்கள் வேலை செய்ய வேண்டிய முறைகள் பற்றி மட்டுமே தெரியும்.

இந்தக் கொள்கை பின்வருமாறு வடிவமைக்கப்பட்டுள்ளது: “வாடிக்கையாளர்கள் தாங்கள் பயன்படுத்தாத முறைகளை (முறைகளைப் பற்றி அறிந்திருக்க) சார்ந்திருக்கக் கூடாது” அல்லது “பல சிறப்பு இடைமுகங்கள் ஒரு உலகளாவிய ஒன்றை விட சிறந்தவை”.

மாட்யூல்களின் தொடர்பு மற்றும் சார்புகள் அவற்றின் உள் அமைப்பு மற்றும் அமைப்பு பற்றிய அறிவைப் பயன்படுத்தாமல், இடைமுகங்களின் உதவியுடன் மட்டுமே விவரிக்கப்படும்போது மட்டுமே பலவீனமான இணைப்பு வழங்கப்படுகிறது, அதாவது சுருக்கங்கள். கூடுதலாக, வெவ்வேறு செயலாக்கங்களைச் சேர்ப்பதன் மூலம் மற்றும் பயன்படுத்துவதன் மூலம் கணினியின் நடத்தையை விரிவாக்க / மாற்றும் திறன் எங்களிடம் உள்ளது, அதாவது பாலிமார்பிசம் காரணமாக. ஆம், நாங்கள் மீண்டும் OOP - என்காப்சுலேஷன், அப்ஸ்ட்ராக்ஷன், பாலிமார்பிஸத்திற்கு வந்தோம்.

8.3 முகப்பு: தொகுதி இடைமுகம்

இங்கே ஒரு அனுபவம் வாய்ந்த புரோகிராமர் கேட்பார்: வடிவமைப்பு என்பது தொடர்புடைய இடைமுகங்களைச் செயல்படுத்தும் பொருள்களின் மட்டத்தில் இல்லை, ஆனால் தொகுதிகளின் மட்டத்தில் இருந்தால், தொகுதி இடைமுகத்தை செயல்படுத்துவது என்ன?

பதில்: வடிவமைப்பு வடிவங்களின் மொழியில் பேசுவது, பின்னர் ஒரு சிறப்பு பொருள் தொகுதி இடைமுகத்தை செயல்படுத்துவதற்கு பொறுப்பாகும் - முகப்பில் . கேட்வே பின்னொட்டு (உதாரணமாக, MobileApiGateway) உள்ள ஒரு பொருளில் நீங்கள் முறைகளை அழைக்கிறீர்கள் என்றால், அது பெரும்பாலும் ஒரு முகப்பாக இருக்கும்.

முகப்பு என்பது ஒரு இடைமுகப் பொருளாகும், இது ஒரு குறிப்பிட்ட துணை அமைப்புடன் பணிபுரிவதற்கான உயர் மட்ட செயல்பாடுகளைக் குவிக்கிறது, அதன் உள் அமைப்பு மற்றும் அதன் பின்னால் உள்ள உண்மையான சிக்கலை மறைக்கிறது . துணை அமைப்பு செயல்படுத்தலில் ஏற்படும் மாற்றங்களுக்கு எதிராக பாதுகாப்பை வழங்குகிறது. ஒற்றை நுழைவு புள்ளியாக செயல்படுகிறது - "நீங்கள் முகப்பை உதைக்கிறீர்கள், மேலும் அவருக்குத் தேவையானதைப் பெற இந்த துணை அமைப்பில் யார் உதைக்கப்பட வேண்டும் என்பது அவருக்குத் தெரியும்."

தொகுதிகளை வடிவமைக்கும் போது இடைமுகங்களின் கருத்தைப் பயன்படுத்தவும், அதன் மூலம் அவற்றைத் துண்டிக்கவும் - "முகப்பில்" உங்களை அனுமதிக்கும் மிக முக்கியமான வடிவமைப்பு வடிவங்களில் ஒன்றை நீங்கள் இப்போது அறிமுகப்படுத்தியுள்ளீர்கள்.

கூடுதலாக, "முகப்பு" சாதாரண பொருட்களைப் போலவே தொகுதிக்கூறுகளுடன் வேலை செய்வதையும், தொகுதிகளை வடிவமைக்கும்போது வகுப்புகளின் வடிவமைப்பில் பயன்படுத்தப்படும் அனைத்து பயனுள்ள கொள்கைகளையும் நுட்பங்களையும் பயன்படுத்துவதை சாத்தியமாக்குகிறது.

முகப்பில்: தொகுதி இடைமுகம்

குறிப்பு : பெரும்பாலான புரோகிராமர்கள் வகுப்புகள் (பொருள்கள்) வடிவமைக்கும் போது இடைமுகங்களின் முக்கியத்துவத்தைப் புரிந்து கொண்டாலும், தொகுதி மட்டத்திலும் இடைமுகங்களைப் பயன்படுத்துவதற்கான யோசனையை பலர் கண்டுபிடித்ததாகத் தெரிகிறது.

கருத்துக்கள்
  • பிரபலமானவை
  • புதியவை
  • பழையவை
ஒரு கருத்தைத் தெரிவிக்க நீங்கள் உள்நுழைந்திருக்க வேண்டும்
இந்தப் பக்கத்தில் இதுவரை எந்தக் கருத்தும் வழங்கப்படவில்லை