𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗢𝗢𝗣: 𝗔 𝗖𝗼𝗺𝗽𝗹𝗲𝘁𝗲 𝗚𝘂𝗶𝗱𝗲
ചെറിയ പ്രോജക്റ്റുകൾക്കായി കോഡ് എഴുതുന്നത് എളുപ്പമാണ്. എന്നാൽ വലിയ ആപ്പുകൾക്കായി കോഡ് നിയന്ത്രിക്കുന്നത് പ്രയാസകരമാണ്.
ഒരു Quiz App-ഉം Mobile Banking UI-ഉം നിർമ്മിക്കുന്നതിനിടയിലാണ് ഞാൻ ഇത് മനസ്സിലാക്കിയത്. തുടക്കത്തിൽ ലളിതമായ ഫംഗ്ഷനുകളും ഒബ്ജക്റ്റുകളും നന്നായി പ്രവർത്തിച്ചു. എന്നാൽ കൂടുതൽ ഫീച്ചറുകൾ ചേർക്കപ്പെട്ടതോടെ കോഡ് കുഴപ്പത്തിലായി. അത് വീണ്ടും ഉപയോഗിക്കാനും (reuse) പിഴവുകൾ തിരുത്താനും (fix) വളരെ പ്രയാസമായിത്തീർന്നു.
അപ്പോഴാണ് Object-Oriented Programming (OOP) എല്ലാം മാറ്റിമറിച്ചത്.
OOP കോഡിനെ വെറും ഫംഗ്ഷനുകൾക്ക് പകരം ഒബ്ജക്റ്റുകളെ അടിസ്ഥാനമാക്കി ക്രമീകരിക്കുന്നു. ഒരു ഒബ്ജക്റ്റിൽ ഡാറ്റയും (properties) പ്രവർത്തനങ്ങളും (methods) അടങ്ങിയിരിക്കുന്നു.
ഒരു കാറിനെക്കുറിച്ച് ചിന്തിക്കുക. അതിന് നിറം, ബ്രാൻഡ് എന്നിങ്ങനെയുള്ള പ്രോപ്പർട്ടികൾ (properties) ഉണ്ട്. സ്റ്റാർട്ട് ചെയ്യുക, നിർത്തുക എന്നിങ്ങനെയുള്ള പ്രവർത്തനങ്ങൾ (actions) അതിനുണ്ട്.
നിങ്ങൾ അറിഞ്ഞിരിക്കേണ്ട പ്രധാന ആശയങ്ങൾ താഴെ പറയുന്നവയാണ്:
• Classes and Objects ഒരു ക്ലാസ് എന്നത് ഒരു ബ്ലൂപ്രിന്റ് (blueprint) ആണ്. ആ ബ്ലൂപ്രിന്റ് ഉപയോഗിച്ച് നിങ്ങൾ നിർമ്മിക്കുന്ന യഥാർത്ഥ വസ്തുവാണ് ഒബ്ജക്റ്റ്.
• Constructors ഒരു കൺസ്ട്രക്റ്റർ എന്നത് ഒരു പ്രത്യേക മെത്തേഡ് ആണ്. ഒരു പുതിയ ഒബ്ജക്റ്റ് നിർമ്മിക്കുമ്പോൾ അതിന്റെ ഡാറ്റ ക്രമീകരിക്കുന്നതിനായി ഇത് സ്വയമേവ പ്രവർത്തിക്കുന്നു.
• Inheritance
ഇത് ഒരു ക്ലാസിന് മറ്റൊരു ക്ലാസിൽ നിന്നുള്ള സവിശേഷതകൾ സ്വീകരിക്കാൻ അനുവദിക്കുന്നു. ഒരേ കോഡ് തന്നെ വീണ്ടും വീണ്ടും എഴുതുന്നത് ഇത് ഒഴിവാക്കുന്നു. പാരന്റ് ക്ലാസിനെ (parent class) വിളിക്കാൻ super() കീവേഡ് ഉപയോഗിക്കുക.
• Encapsulation
ഇത് ഡാറ്റ സുരക്ഷിതമായി സൂക്ഷിക്കുന്നു. ആന്തരിക വിവരങ്ങൾ മറച്ചുവെക്കുകയും ആവശ്യമായവ മാത്രം പുറത്തു കാണിക്കുകയും ചെയ്യുന്നു. ഫീൽഡുകൾ പ്രൈവറ്റ് (private) ആക്കാൻ JavaScript-ൽ # ചിഹ്നം ഉപയോഗിക്കുക.
• Abstraction ഇത് സങ്കീർണ്ണമായ ലോജിക്കുകളെ മറച്ചുവെക്കുന്നു. ആന്തരിക പ്രവർത്തനങ്ങൾ എങ്ങനെയാണെന്ന് അറിയാതെ തന്നെ നിങ്ങൾക്ക് ലളിതമായ ഒരു ഇന്റർഫേസിലൂടെ (interface) കാര്യങ്ങൾ ചെയ്യാൻ സാധിക്കുന്നു.
• Polymorphism ഒരേ മെത്തേഡ് പേര് ഉപയോഗിച്ചുകൊണ്ട് തന്നെ വ്യത്യസ്ത ക്ലാസുകൾക്ക് വ്യത്യസ്ത രീതിയിൽ പ്രവർത്തിക്കാൻ ഇത് അനുവദിക്കുന്നു. ഉദാഹരണത്തിന്, ഒരു മൃഗം കുരയ്ക്കുമ്പോൾ മറ്റൊന്ന് മ്യാവൂ എന്ന് കരയുന്നുണ്ടാകാം.
• Getters and Setters ആളുകൾ നിങ്ങളുടെ ഡാറ്റ എങ്ങനെ ഉപയോഗിക്കുന്നു അല്ലെങ്കിൽ മാറ്റം വരുത്തുന്നു എന്ന് നിയന്ത്രിക്കാൻ ഇവ സഹായിക്കുന്നു.
എന്തുകൊണ്ടാണ് OOP ഉപയോഗിക്കുന്നത്?
- കോഡ് എളുപ്പത്തിൽ വീണ്ടും ഉപയോഗിക്കാം (reuse).
- നിങ്ങളുടെ പ്രോജക്റ്റ് ചിട്ടയോടെ ഇരിക്കുന്നു.
- മെയിന്റനൻസ് (maintenance) വേഗത്തിലാകുന്നു.
- പ്രോജക്റ്റ് വലുതാകുമ്പോഴും അതിന്റെ ആർക്കിടെക്ചർ (architecture) വൃത്തിയായി നിലനിർത്താം.
ഈ അടിസ്ഥാന തത്വങ്ങൾ പഠിക്കുന്നത് നിങ്ങളെ മികച്ചൊരു ഡെവലപ്പർ ആക്കും. നിങ്ങളുടെ അടുത്ത ഡാഷ്ബോർഡ് അല്ലെങ്കിൽ ഇ-കൊമേഴ്സ് പ്രോജക്റ്റുകളിൽ ഈ ആശയങ്ങൾ പരീക്ഷിച്ചു നോക്കൂ.