Base Class Library Support: हालांकि Base Class Library में Specified सभी Namespaces भी Microsoft Framework Class Library का ही हिस्सा हैं, फिर भी ECMA Specification द्वारा Standardize न होने की वजह से इन्हें निम्न चित्रानुसार Base Class Library Layer से ऊपर रखा गया है।
क्योंकि .NET Framework का प्रयोग करके भी मूल रूप से या तो Desktop Applications बनाए जाते हैं, जिनके Frontend या Window GUI के लिए WinForms Namespace के Classes की जरूरत होती है, या फिर Web Applications या Web Services बनाए जाते हैं, जिनके Frontend या Window GUI के लिए ASP.NET Namespace के Classes की जरूरत होती है।
जबकि दोनों ही प्रकार के Applications के लिए यदि Database को Use करना हो, तो Database Accessing व Manipulating के लिए ADO.NET Namespace की Classes की जरूरत होती है। इसलिए .NET Development के इन तीन मुख्य हिस्सों को .NET Framework 2.0 के साथ निम्न चित्रानुसार दर्शाया गया है:
चूंकि .NET Framework 2.0 को अन्य सभी .NET Framework के आधार की तरह Use किया गया है, इसीलिए हम उपरोक्त चित्र में Green Color के Box में दिखा, गए सभी Namespaces को Base Class Library का हिस्सा ही मानते हैं, हालांकि WinForms, ASP.NET व ADO.NET व इनसे सम्बंधित अन्य Namespaces को .NET Framework 2.0 में अथवा बाद के Versions में Base Class Library में Add किया गया है, इसलिए ECMA Specification इन अन्य Namespaces को Base Class Library का हिस्सा नहीं मानता।
इसी तरह से जैसाकि हम निम्न चित्र में देख सकते हैं, .NET Framework के 3.0 Version में केवल चार नए Namespaces को Append किया गया था, जो कि .NET Framework में कुछ नई तरह की Functionalities को Add कर रहे थे।
उदाहरण के लिए WPF (Windows Presentation Foundation) को इस Version में इसलिए Add किया गया था, क्योंकि WinForms के साथ कुछ परेशानी है, कि वे Device की Screen व Hardware पर Depend करते हैं। इसलिए जब हम WinForms का प्रयोग करके अपने Application का GUI Create करते हैं, तो अलग-अलग Screen Size, Resolution, Screen Style (CRT Monitor, LCD, LED, etc…) आदि के Output Devices पर समान Graphical User Interface, Device के Graphics Device के आधार पर भिन्न तरह का दिखाई देते हैं।
इस समस्या के समाधान के लिए Microsoft ने WPF नाम का एक नया System Implement किया है, जो कि WinForms की उपरोक्त समस्या का समाधान Provide करता है। यानी WPF का प्रयोग करके बनाए गए User Interface विभिन्न प्रकार के Output Devices पर एक समान दिखाई देते हैं।
चूंकि, Microsoft ने WinForms के Alternative के रूप में WPF को विकसित किया है और WinForms को केवल Backward Compatibility के लिए ही .NET का हिस्सा बनाकर रखा गया है। साथ ही Frontend GUI Design करने हेतु Microsoft का पूरा ध्यान WPF पर ही है। इसलिए Microsoft ने WinForms को विकसित करना भी लगभग बन्द कर दिया है। इसलिए हो सकता है कि जल्दी ही WinForms को भविष्य के किसी .NET Framework Version से Remove कर दिया जाए। अत: बेहतर यही है कि Frontend GUI Develop करने के लिए WinForms के स्थान पर WPF को ही Use किया जाए, क्योंकि WPF ही Microsoft Technology के Frontend का भविष्य है।
इसी तरह से WCF, WF व CardSpace भी कुछ अलग तरह की Requirements को पूरा करने के लिए Design व Append किए गए Framework Class Library के नए हिस्से मात्र थे।
.NET Framework 3.5 Version के साथ ही Microsoft की Non-Standard .NET Base Class Library में कुछ और Namespaces को Append किया गया, जो कि ADO.NET को Use करने के तरीके को Modify करते थे।
चूंकि जब भी .NET Framework में किसी नई Technology को Implement किया जाता है, तो उस Technology को विभिन्न .NET Supported Programming Languages द्वारा Normal तरीके से Support करवाने के लिए Microsoft को कुछ और Base Classes को BCL में Append करना पडता है।
परिणामस्वरूप LINQ को विभिन्न .NET Supported Programming Languages द्वारा Support करवाने के लिए Microsoft ने .NET Framework 3.5 में LINQ से सम्बंधित Namespace को Non-Standard Microsoft .NET Base Class Library में Append किया। साथ ही ADO.NET को भी Entity Framework के नए Design Pattern के साथ Use करने के लिए Redesign किया।
.NET Framework 4.0 के साथ ही LINQ को Modify करते हुए कुछ और Functionalities से सम्बंधित Framework Classes को Append किया गया। साथ ही LINQ Library को भी Modify किया गया। .NET Framework 4.0 में किए गए परिवर्तनों को हम निम्न चित्र द्वारा समझ सकते हैं।
अन्त में .NET Framework 4.5 जो कि वर्तमान में .NET का Latest Version है, में निम्न चित्रानुसार कुछ और नई Functionalities व उनसे सम्बंधित Classes को Add किया गया है।
जल्दी .NET Framework 5.0 आने वाला है, जिसमें कुछ और नई Functionalities व उनसे सम्बंधित Classes को .NET Framework में Add किया जाएगा और .NET Framework की Non-Standard Base Class Library में कुछ और नई Classes व Namespaces को Append किया जाएगा और ये प्रक्रिया तब तक जारी रहेगी, जब तक .NET Framework Based Applications Develop होते रहेंगे।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C#.NET in Hindi | Page:908 | Format: PDF