Maison  >  Article  >  développement back-end  >  Auto-apprentissage C#04 à partir de zéro - Caractéristiques et principes de conception

Auto-apprentissage C#04 à partir de zéro - Caractéristiques et principes de conception

黄舟
黄舟original
2017-02-04 10:37:541088parcourir

1. Trois fonctionnalités majeures

Encapsulation : Masquer l'implémentation interne.
Héritage : réutilisez le code existant.
Polymorphisme : réécrire le comportement des objets.

2. Principes de conception

  • Principe de responsabilité unique (SRP)

Une classe n'a qu'une seule cause Raison pour changement.

  • Principe d'ouverture-fermeture (OCP) :

Les modules de classe doivent être extensibles, mais non modifiables. (Ouvert au développement d'extensions, fermé aux modifications)

  • Principe de substitution de Liskov (LSP) :

Les sous-classes peuvent être n'importe où Remplace sa classe de base.

  • Principe de ségrégation des interfaces (ISP) :

Essayez d'utiliser des interfaces avec des fonctions uniques au lieu d'interfaces avec des fonctions complexes et complètes.

  • Principe d'inversion de dépendance (DIP) :

Les modules de haut niveau ne devraient pas dépendre de modules de bas niveau, les deux devraient dépendre d'abstractions. Les abstractions ne devraient pas dépendre des détails de l'implémentation ; les détails de l'implémentation devraient dépendre des abstractions.

  • Loi de Déméter ou principe de moindre connaissance (LOD ou LKP) :

Nécessite autant d'encapsulation que possible, autant que possible Indépendant, essayez pour utiliser des modificateurs d'accès de bas niveau.

  • Principe de réutilisation de composition/agrégation (CARP) :

Si vous n'atteignez que l'objectif de réutilisation du code, essayez de l'utiliser Composition et agrégation , pas d'héritage.

Ce qui précède est le contenu de l'auto-apprentissage C#04 de 0-Features and Design Principles. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


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