"ஹலோ, அமிகோ! ஓஓபியின் மற்றொரு நன்மையைப் பற்றி நான் உங்களுக்குச் சொல்ல விரும்புகிறேன். திட்டங்கள் கட்டிடங்களை விட விலங்குகளைப் போன்றது. அவை கட்டப்படவில்லை, அவை வளர்ந்தவை. வளர்ச்சி என்பது நிலையான மாற்றங்கள். கட்டுமானத்தில், உங்களால் முடியும். ஒரு நல்ல திட்டத்தை வைத்து, அதை டி.க்கு பின்பற்றவும். ஆனால் மென்பொருள் உருவாக்கத்தில், அப்படி இல்லை."

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

"ஆனால் வாடிக்கையாளர் உண்மையிலேயே விரிவான விவரக்குறிப்பை வழங்கினால் என்ன செய்வது?"

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

"அப்படியானால் இவை அனைத்திலிருந்தும் நாம் என்ன முடிவுக்கு வருவோம்?"

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

"அதை நீ எப்படி செய்கிறாய்?"

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

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

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

"அதே 'தொழிலாளர் பிரிவு' கொள்கை, ஆனால் பெரிய அளவில்?"

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

"அவர்கள் நன்றாக தேர்ந்தெடுக்கப்பட்டால், அவர்கள் நன்றாக தேர்ந்தெடுக்கப்படாவிட்டால் என்ன செய்வது?"

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

"சரி. அப்படி ப்ரோக்ராமைப் பிரிப்பதன் பலனை நான் பார்க்கிறேன், ஆனால் படத்தில் OOP எப்படி வரும்?"

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

"மேலும் இந்த பகுதிகளின் உள் கட்டமைப்பை மறைத்து, மற்ற பகுதிகளுடன் அவை எவ்வாறு தொடர்பு கொள்கின்றன என்பதை கண்டிப்பாக கட்டுப்படுத்துகிறது - அதுதான் இணைத்தல் , இல்லையா?"

"சரியாக. இணைத்தல் மற்றும் சுருக்கம் ஆகியவை OOP இன் மூலக்கல்லாகும். ஒரு நல்ல நிரல் இந்த இரண்டு கொள்கைகளையும் கடைப்பிடிக்க வேண்டும். பின்னர் மற்ற கொள்கைகளைப் பார்த்து அவற்றின் நன்மைகளைப் புரிந்துகொள்வோம்."

"நல்ல விஷயம். என்னால் காத்திருக்க முடியாது!"