C# के साथ मोनोरेपॉजिटरी: शुरुआती लोगों के लिए कोड संगठन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

C# के साथ मोनोरेपॉजिटरी: शुरुआती लोगों के लिए कोड संगठन

\n\n

C# (.NET) में आधुनिक डेवलपमेंट में, देर-सबेर यह सवाल उठता है: जब आपके पास कई प्रोजेक्ट हों - एक क्लास लाइब्रेरी, वेब-API, कंसोल एप्लिकेशन, टेस्ट - तो कोड को कैसे व्यवस्थित करें? कई नौसिखिए डेवलपर प्रत्येक भाग के लिए अलग-अलग रिपॉजिटरी बनाते हैं, जिससे वर्जन और डिपेंडेंसी में भ्रम पैदा होता है। विकल्प है मोनोरेपॉजिटरी (monorepo)। इस लेख में, हम समझेंगे कि मोनोरेपॉजिटरी क्या है, इसे C# में कैसे सेटअप करें और यह शुरुआती लोगों के लिए जीवन को कैसे सरल बनाता है।

\n\n

मोनोरेपॉजिटरी क्या है?

\n\n

मोनोरेपॉजिटरी एक दृष्टिकोण है जिसमें कई संबंधित प्रोजेक्ट्स का सारा कोड एक ही Git रिपॉजिटरी में संग्रहीत किया जाता है। उदाहरण के लिए, आपके पास एक सामान्य लाइब्रेरी MyApp.Shared, एक वेब एप्लिकेशन MyApp.Web और एक कंसोल टूल MyApp.Cli हो सकता है - सभी एक ही फ़ोल्डर में, एक ही .sln फ़ाइल के साथ।

\n\n

C# (.NET) के संदर्भ में, मोनोरेपॉजिटरी का आमतौर पर मतलब एक Visual Studio Solution होता है जिसमें कई प्रोजेक्ट शामिल होते हैं। यह विशेष रूप से इसके लिए सुविधाजनक है:

\n
    \n
  • कोड का साझा उपयोग (NuGet पैकेज के बजाय Project References के माध्यम से)।
  • \n
  • एकीकृत बिल्ड और CI/CD प्रक्रिया।
  • \n
  • वर्जन के साथ काम को सरल बनाना (एक ब्रांच - सभी बदलाव एक साथ)।
  • \n
\n\n

शुरुआती लोगों के लिए मोनोरेपॉजिटरी के लाभ

\n\n

यदि आप अभी C# सीखना शुरू कर रहे हैं, तो मोनोरेपॉजिटरी सामान्य गलतियों से बचने में मदद करेगा:

\n
    \n
  • नेविगेशन में आसानी - सभी प्रोजेक्ट एक ही स्थान पर, रिपॉजिटरी के बीच स्विच करने की आवश्यकता नहीं।
  • \n
  • तत्काल कनेक्शन - लाइब्रेरी में बदलाव आश्रित प्रोजेक्ट्स में तुरंत दिखाई देता है।
  • \n
  • एकीकृत शैली - सभी प्रोजेक्ट्स के लिए एक .editorconfig या Directory.Build.props कॉन्फ़िगर किया जा सकता है।
  • \n
  • टेस्ट चलाना आसान - एक कमांड dotnet test से पूरे समाधान की जाँच हो जाती है।
  • \n
\n\n

मोनोरेपॉजिटरी संरचना बनाना: चरण-दर-चरण मार्गदर्शिका

\n\n

चरण 1. रूट फ़ोल्डर और समाधान बनाएँ

\n\n

टर्मिनल खोलें और निष्पादित करें:

\n
mkdir MyMonorepo\ncd MyMonorepo\ndotnet new sln -n MyApp
\n\n

अब आपके पास MyApp.sln फ़ाइल है - यह Visual Studio या Rider के लिए प्रवेश बिंदु है।

\n\n

चरण 2. प्रोजेक्ट जोड़ें

\n\n

हम तीन प्रोजेक्ट बनाएंगे: एक क्लास लाइब्रेरी, एक वेब-API और एक कंसोल एप्लिकेशन। सुविधा के लिए, उन्हें src उपफ़ोल्डर में रखें:

\n
mkdir src\ncd src\ndotnet new classlib -n MyApp.Shared\ndotnet new webapi -n MyApp.Web\ndotnet new console -n MyApp.Cli\ncd ..
\n\n

अब उन्हें समाधान से जोड़ें:

\n
dotnet sln add src/MyApp.Shared/MyApp.Shared.csproj\ndotnet sln add src/MyApp.Web/MyApp.Web.csproj\ndotnet sln add src/MyApp.Cli/MyApp.Cli.csproj
\n\n

चरण 3. प्रोजेक्ट के बीच डिपेंडेंसी सेट करें

\n\n

मान लें कि MyApp.Web और MyApp.Cli MyApp.Shared से क्लास का उपयोग करते हैं। लाइब्रेरी को NuGet में प्रकाशित करने के बजाय, बस Project Reference जोड़ें:

\n
dotnet add src/MyApp.Web/MyApp.Web.csproj reference src/MyApp.Shared/MyApp.Shared.csproj\ndotnet add src/MyApp.Cli/MyApp.Cli.csproj reference src/MyApp.Shared/MyApp.Shared.csproj
\n\n

अब MyApp.Web.csproj फ़ाइल में एक सेक्शन दिखाई देगा:

\n
<ItemGroup>\n  <ProjectReference Include="..\\MyApp.Shared\\MyApp.Shared.csproj" />\n</ItemGroup>
\n\n

चरण 4. सामान्य कोड लिखें

\n\n

MyApp.Shared प्रोजेक्ट में एक सरल क्लास बनाएँ:

\n
// src/MyApp.Shared/GreetingService.cs\nnamespace MyApp.Shared;\n\npublic class GreetingService\n{\n    public string GetGreeting(string name) => $"नमस्ते, {name}! मोनोरेपॉजिटरी में आपका स्वागत है।";\n}
\n\n

अब इसे कंसोल एप्लिकेशन में उपयोग करें:

\n
// src/MyApp.Cli/Program.cs\nusing MyApp.Shared;                

ब्लॉग

पुस्तक अनुशंसाएँ