Base Class Library in .NET: .NET Framework के विकास के भी दो हिस्से रहे हैं। पहले हिस्से के अन्तर्गत .NET Framework 1.0 व 1.1 आते हैं, जबकि इनकी कमियों को पूरी तरह से दूर करते हुए .NET Framework का Version 2.0 एक पूर्ण परिवर्तित Version था और इस Version को ही .NET Framework के Standard Base Version यानी आधार की तरह Use करते हुए अन्य .NET Framework Versions को Develop किया गया है।
.NET Framework 2.0 के बाद .NET Framework की FCL यानी Framework Class Library को ही विशेष रूप से Extend किया गया है और अलग-अलग तरह की Requirements को आसानी से पूरा करने के लिए नए Namespaces में नई Classes को Define किया गया है।
जबकि इन नई प्रकार की जरूरतों को पूरा करने के लिए C# व अन्य .NET Supported Languages के Root में कोई परिवर्तन नहीं किया गया है। हालांकि हर Updated Version में इन Programming Languages में कुछ नए Concepts को Append किया गया है, जिनके बारे में हम इस पुस्तक के दौरान Detail से जानेंगे।
चूंकि .NET Framework 2.0 Perfect तरीके से वैसा Platform बन पाया था जैसा Microsoft चाहता था, इसलिए .NET Framework 2.0 Version को ही .NET Platform के आधार की तरह Use किया गया है। अत: हम सबसे पहले .NET Framework 2.0 द्वारा Provided विभिन्न Features को ही समझेंगे।
क्योंकि . NET Framework 2.0 के बाद आने वाले Versions में Microsoft द्वारा ज्यादा ध्यान नए प्रकार की Requirements को पूरा करने के लिए FCL को Develop करते हुए उसमें नए Namespaces व Classes को Append करने पर दिया गया है।
इसलिए .NET Version 2.0, जो कि 2005 में Launch किया गया था, ही वास्तव में Perfect .NET Platform था। हालांकि वर्तमान समय तक .NET Framework 4.5 Version आ चुका है और .NET के 4.5 Version तक के विभिन्न Features को उनके Versions के आधार पर निम्न चित्रानुसार बेहतर तरीके से समझा जा सकता है:
जैसाकि इस चित्र में हम देख सकते हैं कि .NET Framework 2.0 में CLR (Common Language Runtime) से Just ऊपर “Base Class Library” की एक Layer है। इस Layer में Microsoft ने उन Base Classes को Define किया है, जिनकी जरूरत किसी भी Simple .NET Application को भी होती है।
.NET Framework 2.0 की Base Class Library को वर्तमान समय तक बहुत बार Modify किया जा चुका है और उसमें नई जरूरतों को पूरा करने के लिए नए Namespaces को समय-समय पर हर नए .NET Framework Version के साथ Append किया जाता रहा है।
वास्तव में BCL, FCL का ही एक Part है जबकि FCL Microsoft द्वारा विभिन्न प्रकार की जरूरतों को पूरा करने के लिए Provide की जाने वाली Classes की एक बहुत बडी Library है। लेकिन BCL केवल उन Classes को Represent करता है, जिनकी जरूरत Common रूप से लगभग सभी प्रकार के .NET Applications को होती है जबकि FCL में Defined अन्य Classes की जरूरत सभी प्रकार के Applications में नहीं होती।
अत: जिन Classes की जरूरत Compulsory रूप से सभी .NET Applications को होती है, उन Classes को BCL द्वारा Refer किया जाता है, जबकि जिन Classes की जरूरत Special Requirements को पूरा करने के लिए होती है, उन्हें FCL के अन्तर्गत रखा गया है।
BCL Classes में बहुत कम Changes किए जाते हैं, हालांकि विभिन्न .NET Versions में समय-समय पर विभिन्न प्रकार की जरूरतों को पूरा करने के लिए BCL में नई Classes को Append किया जाता रहा है। क्योंकि इन Append की जाने वाली Classes का सम्बंध .NET Supported Programming Languages को नई तरह की Functionality Provide करने से होता है।
BCL – The Base Class Library in .NET
.NET के Latest Version तक Base Class Library में जिन Namespaces को शामिल किया जा चुका है, वे निम्नानुसार हैं, जबकि आने वाले अगले .NET Versions में जरूरत के अनुसार और नए Namespaces को Append किया जा सकता है:
System Namespace
इस Namespace में Primary Data Types जैसे कि Int32, Double, String, Boolean आदि से सम्बंधित Classes हैं। यानी किसी भी .NET Application की Core जरूरतों को इसी Namespace की Classes द्वारा पूरा किया जाता है। Attributes, Exceptions, Arrays, Math Functions, DateTime व Console Environment Related Classes इसी Namespace का हिस्सा हैं।
System.Collection Namespace
इस Namespace में Convenient Container and Collection Types जैसे कि Lists, Sets, Dictionaries, Queues, Stacks, Hash Tables, Generics आदि से सम्बंधित Classes हैं।
System.Diagnostics Namespace
इस Namespace में विभिन्न प्रकार के System Services Logging, Performance Counter, Tracing व System Processes के साथ Interaction से सम्बंधित Classes हैं।
System.Globalization Namespace
इस Namespace में किसी .NET Application को एक Globalize Application बनाने से सम्बंधित Classes हैं।
System.IO Namespace
इस Namespace में Input, Output, Streams, Files आदि से सम्बंधित Classes हैं। इन Classes का प्रयोग करके हम Keyboard या Disk जैसी Devices से Data को Current Application में Read करने तथा Monitor या Disk जैसे Output Device पर Data को Write करने की क्षमता प्राप्त करते हैं। इसी Namespace की Classes हमारे File System के साथ हमारे .NET Application का Connection Establish करने की सुविधा Provide करती हैं।
System.Net Namespace
इस Namespace में Networking से सम्बंधित Classes हैं, जो कि विभिन्न प्रकार के Well-Known Protocols जैसे कि TCP, UDP, FTP, SMTP, POP व HTTP आदि को Support करते हैं साथ ही Secure Communication Provide करने के लिए SSL जैसे Protocols को भी Support करने से सम्बंधित Classes इसी Namespace में होते हैं।
System.Reflection Namespace
इस Namespace में IL या MSIL Managed Codes के Runtime Inspection से सम्बंधित Classes हैं। ये Namespace ऐसी Classes Provide करता है, जिनका प्रयोग किसी Type यानी Class, Methods व Fields का Object View प्राप्त करने तथा Types को Dynamically Create व Invoke करने के लिए किया जा सकता है।
System.Runtime Namespace
इस Namespace में किसी Assembly के CLR पर Run होने के Behavior को Control करने से सम्बंधित Classes हैं। साथ ही COM या अन्य Native Codes के साथ Interoperability प्राप्त करने, Distributed Application Create करने व Objects को SOAP या Binary में Serialize करने से सम्बंधित Classes इसी Namespace में होती हैं।
System.Security Namespace
इस Namespace में .NET Application की Security Related Functionality से सम्बंधित Classes हैं। Cryptography व Application Based Policy and Permissions को Setup करने से सम्बंधित Classes इसी Namespace के अन्तर्गत होती हैं।
System.ServiceModel Namespace
इस Namespace में WCF API से सम्बंधित Service Oriented Programming की Classes हैं।
System.Text Namespace
इस Namespace में Text Manipulation से सम्बंधित Classes हैं, जो कि विभिन्न प्रकार के Encoding Schemes व Regular Expressions को Handle करने का काम करते हैं साथ ही Strings को विभिन्न तरीकों से Manipulate करने की सुविधा देते हैं।
System.Threading Namespace
इस Namespace में Multi-Threaded Programming से सम्बंधित Classes हैं।
System.XML Namespace
इस Namespace में XML Manipulation से सम्बंधित Classes हैं, जिनमें Schema व Transformation APIs के साथ LINQ Support भी Included है। यानी यदि हम हमारे .NET Application में LINQ Use करना चाहते हैं या XML Manipulation करना चाहते हैं, तो इनसे सम्बंधित Services हमें इसी Namespace से प्राप्त होती हैं।
ये .NET Framework की वे Base Classes हैं, जिन्हें ECMA द्वारा Standard Base Class के रूप में Specify किया गया है। लेकिन इन Classes के अलावा कुछ और Classes भी हैं, जिन्हें Microsoft ने अपने स्तर पर .NET Framework की Base Class Library में विभिन्न .NET Versions को Launch करने के साथ Add किया है, हालांकि ये Classes ECMA द्वारा Specified Standard में शामिल नहीं हैं और Microsoft ने इन Classes को ECMA द्वारा Standardize करने के लिए ECMA के सामने पेश भी नहीं किया है।
यानी Microsoft .NET Framework के नए Versions में अब जो नई Classes इस BCL में Add कर रहा है, उन्हें Standardize करने की जरूरत उसे महसूस नहीं होती, क्योंकि .NET Framework मूल रूप से Windows Operating System के लिए ही उपयोगी है और Windows Operating System Microsoft की ही Property है। (Base Class Library in .NET)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C#.NET in Hindi | Page:908 | Format: PDF