Maison  >  Article  >  développement back-end  >  Explications détaillées des principes de conception courants avec des exemples

Explications détaillées des principes de conception courants avec des exemples

零下一度
零下一度original
2017-06-23 14:28:331566parcourir

Les principes de conception constituent la base sur laquelle les modèles de conception sont construits. En suivant des principes de conception éprouvés, votre code deviendra plus flexible, plus résistant au changement et plus maintenable.

Principes de conception communs

  • Principe de simplicité (KISS)
    Le but du principe KISS est de garder le code simple mais pas trop simple, afin d'éviter introduire tout ce qui est inutile mais complexe.

  • Ne vous répétez pas (DRY)
    Principe BRY mais le but est d'éviter de dupliquer une partie du système en retirant les parties communes et en les mettant dans un endroit séparé lieu. Bien entendu, ce n’est pas seulement le code qui est évité, mais également la logique métier.

  • Dites, ne demandez pas (Dites, ne demandez pas)
    Ce principe stipule que vous devez dire aux objets quelles actions vous voulez qu'ils effectuent, plutôt que de poser des questions sur l'état de l'objet, puis vous décidez vous-même des actions que vous souhaitez effectuer. Cela permet de faire correspondre les responsabilités et d’éviter un couplage étroit entre les classes.

  • Vous n'en avez pas besoin (YAGNI)
    Ce principe fait référence à l'inclusion uniquement des fonctionnalités que votre application doit avoir, sans essayer d'ajouter d'autres fonctionnalités que vous pensez pouvoir besoin .

  • Séparation des préoccupations (SoC)
    SoC est le processus de décomposition d'un logiciel en fonctions distinctes, dont chacune encapsule un comportement et des données uniques qui peuvent être utilisées par d'autres classes. Généralement, une préoccupation représente une fonctionnalité ou un comportement d’une classe. Diviser un programme en responsabilités indépendantes améliore considérablement la réutilisation, la maintenabilité et la testabilité du code.

Principes de conception SOLID

  • Principe de responsabilité unique (SRP)
    Le SRP est hautement cohérent avec le principe de séparation des préoccupations. Cela nécessite que chaque objet n'ait qu'un seul objectif de responsabilité, c'est-à-dire qu'il n'y ait qu'une seule raison pour les changements de classe.

  • Principe ouvert-fermé (OCP)
    Ce principe exige que la classe soit ouverte pour l'extension et fermée pour la modification, afin qu'il soit possible de changer les éléments internes du classe sans la modifier. Ajoutez de nouvelles fonctionnalités à la classe sans affecter le comportement et empêchez la destruction de la classe, provoquant des erreurs ou des bugs inutiles.

  • Principe de substitution de Liskov (LSP)
    Toute classe parent doit être remplaçable par une sous-classe tout en conservant son comportement. Le principe de changement est cohérent avec le principe OCP pour garantir que la classe héritée n'affecte pas le comportement de la classe parent.

  • Principe de séparation des interfaces (ISP)
    Le principe ISP se concentre sur la division des méthodes d'interface en plusieurs groupes en fonction des responsabilités et sur l'attribution de différentes interfaces à ces groupes. Évitez que le client implémente une interface énorme et inutilisée.

  • Principe d'inversion de dépendance (DIP)
    Le but du principe DIP est d'isoler les classes que vous écrivez de l'implémentation spécifique, afin que ces classes dépendent d'abstractions ou d'interfaces. Il favorise la programmation orientée interface, qui garantit que le code n'est pas étroitement lié à une certaine implémentation, augmentant ainsi la flexibilité du système malveillant.

  • Les principes d'injection de dépendance (DI) et d'inversion de contrôle (SoC)
    DI, SoC et DIP sont étroitement liés. DI fournit des classes de niveau inférieur ou subordonnées via des constructeurs, des méthodes ou des propriétés. En utilisant le principe DI, ces classes dépendantes peuvent être inversées en interfaces ou en classes abstraites, formant ainsi un système à faible couplage avec une testabilité élevée et une modification facile.

Modèles de conception ASP.NET :

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!

Déclaration:
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