L'apprentissage Principe de Responsabilité Unique avec C#

Je suis en train d'apprendre le Principe de Responsabilité Unique (SRP), mais il est assez difficile car j'ai un énorme, difficile à comprendre quand et ce que je dois retirer d'une classe et où je devrais mettre/organiser.

J'ai été googler autour de certains matériaux et des exemples de code, mais la plupart des matériaux que j'ai trouvé, au lieu de le rendre plus facile à comprendre, il était difficile à comprendre.

Par exemple si j'ai une liste d'Utilisateurs et à partir de cette Liste que j'ai un
la classe de Contrôle, qui fait beaucoup de choses comme Envoyer une salutation et
au revoir d'un message lorsqu'un utilisateur vient de sortir/, vérifier la météo de l'utilisateur
doit être capable de saisir ou pas, et le coup de lui, de recevoir des commandes de l'utilisateur et des messages, etc.

À partir de l'exemple que vous n'avez pas besoin de beaucoup pour comprendre que je fais déjà trop dans une classe, mais pourtant je ne suis pas assez clair sur la manière de répartir et de les réorganiser par la suite.

Si je comprends la SRP, je voudrais avoir une classe pour rejoindre un canal, pour le salut et au revoir, une classe pour la vérification de l'utilisateur, une classe pour la lecture les commandes, non ?

Mais où et comment puis-je utiliser le coup de pied par exemple ?

J'ai la vérification de la classe donc je suis sûr que j'aurais de toute sorte de vérification de l'utilisateur en y incluant le temps ou pas l'utilisateur devrait être expulsé.

De sorte que le coup de pied de fonction serait à l'intérieur du canal de rejoindre la classe et d'être appelé si la vérification échoue ?

Par exemple:

public void UserJoin(User user)
{
    if (verify.CanJoin(user))
    {
        messages.Greeting(user);
    }
    else
    {
        this.kick(user);
    }
}

Apprécierais si vous les gars pourrait me prêter un coup de main ici avec facile à comprendre, C# matériaux qui sont en ligne et gratuit ou en me montrant comment j'allais être le fractionnement de la citée en exemple et, si possible, des exemples de codes, des conseils, etc.

  • pendant que vous êtes sur ce sujet, jetez aussi un oeil à l'injection de dépendance. c'est une bonne idée de définir des interfaces et ensuite utiliser un conteneur IoC à découpler votre comportement de l'utilisateur de la logique. mais, c'est sans doute beaucoup trop à apprendre à la fois
  • en.wikipedia.org/wiki/Solid_(objet oriented_design)
  • Je pense que cette question serait d'obtenir de meilleures réponses sur les programmeurs.se
  • Je pense que oui si la réponse est juste au sujet de la discussion, mais il n'est pas seulement cela.
  • Plutôt intéressant qui, de nouveau, quelqu'un a voté pour fermé ce sans aucune raison apparente(après le vote de proximité a été effacé au début) peut-être qu'il est vraiment énervé avec cette question 🙁 désolé pour qui aurait encore envie de comprendre pourquoi vous avez voulu fermer si mal, hâte de votre commentaire.
InformationsquelleAutor Guapo | 2011-09-24