Maison > développement back-end > Tutoriel C#.Net > Comment implémenter le principe de responsabilité unique en utilisant C# ?

Comment implémenter le principe de responsabilité unique en utilisant C# ?

WBOY
Libérer: 2023-09-12 17:21:02
avant
1032 Les gens l'ont consulté

Comment implémenter le principe de responsabilité unique en utilisant C# ?

Une classe ne devrait avoir qu'une seule raison de changer.

Définition - Dans ce cas, la responsabilité est considérée comme un motif de changement.

Ce principe stipule que si nous avons deux raisons de changer une classe, nous devons diviser la fonctionnalité en deux classes. Chaque classe ne gère qu'une seule responsabilité, et si nous devons apporter un changement à l'avenir, nous le ferons dans la classe qui le gère. Lorsque nous devons apporter des modifications à une classe qui a plus de responsabilités, ce changement peut affecter d'autres fonctionnalités liées à d'autres responsabilités de cette classe.

Exemple

Principe de responsabilité unique avant le code

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!"})
      }
   }
}
Copier après la connexion

Écrivez le code en suivant le principe de responsabilité unique

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!");
         }
      }
   }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal