എല്ലാ .NET ഭാഷകളും ഒബ്ജെക്ട് ഒറിയെന്റെഡ് പ്രോഗ്രാമ്മിങ് ആശയത്തെ (OOP – Object Oriented Programming concepts) ആധാരമാക്കിയുള്ളതാണ്. അതിനാല് class, object തുടങ്ങിയ OOP ആശയങ്ങള് പ്രോഗ്രാമ്മുകളിലുടനീളം കാണാം. ഒരു ലഘു C# പ്രോഗ്രാമിന്റെ ഘടനയെക്കുറിച്ച് ഈ ലേഖനത്തില് പഠിക്കാം.
ഒരു ഡോട് നെറ്റ് പ്രോഗ്രാമിന്റെ അടിസ്ഥാന ഘടകം എന്നുപറയാവുന്നത് അതിന്റെ മെത്തേഡ് (Methods) കളാണ്. Functions എന്നും വിളിക്കാം. ഒന്നോ അതിലധികമോ method കള് ഒരു ക്ലാസ് (Class) സിലാണ് നാം എഴുതുക. ഈ ക്ലാസ്സാകട്ടെ ഒരു നെയിം സ്പയിസിനുള്ളിലും (Namespace) എഴുതും. ഒരു നെയിം സ്പയിസില് ഒന്നിലധികം ക്ലാസ്സുകള് ഉണ്ടാകാം.
താഴെ കൊടുത്തിരിക്കുന്ന പ്രോഗ്രാം ശ്രദ്ധിയ്ക്കുക.
1. Namespaces / നെയിം സ്പെയിസുകള്
പുറത്തുനിന്നുള്ള (External) നെയിം സ്പയിസുകള്ക്കുള്ളതാണ് ഈ വിഭാഗം. പ്രോഗ്രാമ്മറുടെ ജോലി എളുപ്പമാക്കാന് Microsoft തന്നെ വളരെ അധികം കോഡ് (Code) നമുക്ക് തരുന്നുണ്ട്. ഉദാഹരണത്തിന് ഒരു സന്ദേശം (message/string) വലിയ അക്ഷരങ്ങളിലേക്ക് (capital letters) മാറ്റാന് പണ്ട് C, Assembly പോലുള്ള ഭാഷകളില് ഒരു വലിയ പ്രോഗ്രാം എഴുതേണ്ടിയിരുന്നു. ഡോട് നെറ്റില് str.ToUpper() എന്നു പറഞ്ഞാല് മതി. ഇത്തരത്തിലുള്ള അനേകം ഉപകാരപ്രദമായ (Code Reusability) method കളും മറ്റ് സൌകര്യങ്ങളും ലഭിക്കാനായിട്ടാണ് നെയിം സ്പയിസുകള് ഉപയോഗിക്കുന്നത്. Java യിലെയും Python ലെയും import -മായും, C/C++ ലെ include –മായും ഇതിനെ ഉപമിക്കാം.
വ്യത്യസ്ത ആവശ്യങ്ങള്ക്ക് വ്യത്യസ്ത Namespace കള് ഉപയോഗിക്കണം. ഉദാഹരണത്തിന് നിങ്ങള്ക്ക് ഡിസ്കിലെ ഫയല് സംബന്ധമായ പ്രോഗ്രാം നിര്മ്മിക്കണമെങ്കില് “System.IO;” എന്ന നയിം സ്പേസ് “using” ചെയ്യണം. ചിത്രങ്ങളുമായി ബന്ധപ്പെട്ടതാണെങ്കില് “System.Drawing” ഉം. എന്തൊക്കെ ആവശ്യത്തിന് ഏതൊക്കെ namespace ഉപയോഗിക്കണമെന്ന് വരും ലേഖനങ്ങളില് പ്രതിപാദിക്കാം.
2. Program Namespace / പ്രോഗ്രാം നെയിംസ്പേസ്
നിങ്ങള് നിര്മ്മിക്കുന്ന പ്രോഗ്രാമുകള് ഒരു namespace നുള്ളില് എഴുതുന്നതാണ് നല്ല ശീലം (best practice). Namespace പ്രതിപാതിച്ചിരിക്കണമെന്ന് ഒരു നിര്ബന്ധവുമില്ല (Optional). വലിയ ആപ്ലികേഷനുകള് നിര്മ്മിക്കുമ്പോള് ഉപയോഗിയ്ക്കുന്ന ആന്തരിക (internal) ഘടകങ്ങള് മറ്റ് (external) namespace കളുമായി കൂടിയിടി (conflicts) നടക്കാതിരിക്കാനാണ് പ്രധാനമായും ഇവ ഉപകരിക്കുക.
3. Class / ക്ലാസ്
കുറഞ്ഞത് ഒരു ക്ലാസ്സെങ്കിലും ഒരു പ്രോഗ്രാമ്മില് ഉണ്ടാകും. Class എന്നത് ഒന്നോ അതിലധികമോ മെത്തേഡകള് (methods), പ്രോപ്പര്ട്ടികള് (properties), പ്രസ്താവനകള് (declarations) കൊണ്ട് ഉണ്ടാക്കുന്നതാണ്. ഇവയെല്ലാം തന്നെ ആവശ്യമെങ്കില് മാത്രം (Optional) ഉപയോഗിച്ചാല് മതിയാകുന്നതാണ്.
4. Main() method / മെയിന് മെത്തേഡ്
മിക്ക പ്രോഗ്രാമ്മുകളുടെയും ഉത്ഭവസ്ഥലം (starting point) Main() മെത്തേഡ് ആണ്. പ്രോഗ്രാമ്മിന്റെ യുക്തി (Logic) എഴുതുക മുഖ്യമായും മെത്തേഡുകളിലാണ്. Visual Studio ഉപയോഗിച്ച് പ്രോജക്റ്റ് തുടങ്ങുമ്പോള് Main() മെത്തേഡ് Visual Studio തന്നെ പ്രോഗ്രാം ഫയലില് ചേര്ക്കും. അതിനാല് നിങ്ങള്ക്ക് പ്രോഗ്രാം കോഡ് (ആവശ്യമെങ്കില്) നേരിട്ടു മാറ്റം വരുത്തിയാല് മതി.
5. Program code / പ്രോഗ്രാം കോഡ്
പ്രോഗ്രാമ്മിന്റെ യുക്തി (Logic) എഴുതുക മുഖ്യമായും മെത്തേഡുകളിലാണ് എന്നു പറഞ്ഞുവല്ലോ. ഉദാഹരണത്തിന് മേല്പറഞ്ഞ പ്രോഗ്രാം “Hello World” എന്ന സന്ദേശം പത്തു തവണ കമ്പ്യൂട്ടര് സ്ക്രീനില് കാണിക്കുവാനുള്ളതാണ്.
ഒരു വിന്ഡോസ് ആപ്ലികേഷന് തരത്തിലുള്ള (Windows Application type) പ്രൊജെക്ടിന്റെ ഉത്ഭവ കോഡ് ഇതുപൊലിരിക്കും:
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication4 { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } }
- C# അടിസ്ഥാന പാഠങ്ങൾ – Mathematical Operators – Math - December 10, 2014
- System namespace ( .net Study Guide) - December 10, 2014
- C# അടിസ്ഥാന പാഠങ്ങൾ – Mathematical Operators - November 22, 2014
- ഒരു DOTNET പ്രോഗ്രാം പ്രവർത്തിക്കുന്നത് എങ്ങിനെ? - November 22, 2014
- ആരാണ് ഒരു Systems Analyst? - November 9, 2014
- ഒരു DOTNET പ്രോഗ്രാമ്മിന്റെ ഘടന - November 8, 2014
- Visual Studio – ഒരു Hello World ആമുഖം - November 1, 2014
- Hello World DOTNET - October 25, 2014
- ഐടി തുടക്കക്കാർക്ക് MTA Certification - October 24, 2014
- ഡോട്ട് നെറ്റ് പഠന പരമ്പര -ആമുഖം - October 22, 2014