Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # का उपयोग कर एकल उत्तरदायित्व सिद्धांत को कैसे कार्यान्वित करें?

एक वर्ग के पास बदलने का केवल एक कारण होना चाहिए।

परिभाषा - इस संदर्भ में जिम्मेदारी को बदलने का एक कारण माना जाता है।

यह सिद्धांत बताता है कि यदि हमारे पास किसी वर्ग को बदलने के लिए 2 कारण हैं, तो हमें कार्यक्षमता को दो वर्गों में विभाजित करना होगा। प्रत्येक वर्ग केवल एक जिम्मेदारी संभालेगा और अगर भविष्य में हमें एक बदलाव करने की आवश्यकता है तो हम इसे उस वर्ग में करने जा रहे हैं जो इसे संभालता है। जब हमें अधिक जिम्मेदारियों वाले वर्ग में परिवर्तन करने की आवश्यकता होती है तो परिवर्तन कक्षा की अन्य जिम्मेदारी से संबंधित अन्य कार्यों को प्रभावित कर सकता है।

उदाहरण

एकल उत्तरदायित्व सिद्धांत से पहले कोड

using System;
using System.Net.Mail;
namespace SolidPrinciples.Single.Responsibility.Principle.Before {
   class Program{
      public static void SendInvite(string email,string firstName,string lastname){
         if(String.IsNullOrWhiteSpace(firstName)|| String.IsNullOrWhiteSpace(lastname)){
            throw new Exception("Name is not valid");
         }
         if (!email.Contains("@") || !email.Contains(".")){
            throw new Exception("Email is not Valid!");
         }
         SmtpClient client = new SmtpClient();
         client.Send(new MailMessage("Test@gmail.com", email) { Subject="Please Join the Party!"})
      }
   }
}

एकल उत्तरदायित्व सिद्धांत के बाद कोड

using System;
using System.Net.Mail;
namespace SolidPrinciples.Single.Responsibility.Principle.After{
   internal class Program{
      public static void SendInvite(string email, string firstName, string lastname){
         UserNameService.Validate(firstName, lastname);
         EmailService.validate(email);
         SmtpClient client = new SmtpClient();
         client.Send(new MailMessage("Test@gmail.com", email) { Subject = "Please Join the Party!" });
      }
   }
   public static class UserNameService{
      public static void Validate(string firstname, string lastName){
         if (string.IsNullOrWhiteSpace(firstname) || string.IsNullOrWhiteSpace(lastName)){
            throw new Exception("Name is not valid");
         }
      }
   }
   public static class EmailService{
      public static void validate(string email){
         if (!email.Contains("@") || !email.Contains(".")){
            throw new Exception("Email is not Valid!");
         }
      }
   }
}

  1. जावा रेगेक्स का उपयोग करके एक ही स्थान का उपयोग करके स्ट्रिंग में एकाधिक रिक्त स्थान कैसे बदलें?

    मेटाकैरेक्टर “\\s” रिक्त स्थान से मेल खाता है और + एक या अधिक बार रिक्त स्थान की घटना को इंगित करता है, इसलिए, नियमित अभिव्यक्ति \\S+ सभी स्पेस वर्णों (एकल या एकाधिक) से मेल खाती है। इसलिए, एकाधिक रिक्त स्थान को एक ही स्थान से बदलने के लिए। उपरोक्त रेगुलर एक्सप्रेशन के साथ इनपुट स्ट्रिंग का मिलान क

  1. मैं पायथन 3 में एक शब्दकोश का उपयोग करके एक स्ट्रिंग को कैसे प्रारूपित करूं?

    आप स्ट्रिंग्स को प्रक्षेपित करने के लिए शब्दकोशों का उपयोग कर सकते हैं। उनके पास एक सिंटैक्स है जिसमें आपको % और रूपांतरण वर्ण के बीच कोष्ठक में कुंजी प्रदान करने की आवश्यकता होती है। उदाहरण के लिए, यदि आपके पास एक कुंजी लागत में संग्रहीत एक फ्लोट है और इसे $ xxxx.xx के रूप में प्रारूपित करना चाहते

  1. पायथन का उपयोग करके स्ट्रिंग को JSON में कैसे बदलें?

    JSON.loads() का उपयोग करके JSON स्ट्रिंग को शब्दकोश में बदलने के लिए। यह विधि एक वैध जेसन स्ट्रिंग को स्वीकार करती है और एक शब्दकोश लौटाती है जिसमें आप सभी तत्वों तक पहुंच सकते हैं। उदाहरण के लिए, >>> import json >>> s = '{"success": "true", "status&quo