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) !