Maison > Java > Javacommencer > Principes couramment utilisés dans les modèles de conception Java

Principes couramment utilisés dans les modèles de conception Java

王林
Libérer: 2019-11-25 16:22:51
avant
1571 Les gens l'ont consulté

Principes couramment utilisés dans les modèles de conception Java

1) Principe de responsabilité unique

Réduire la complexité de la classe Une classe n'est responsable que d'une seule responsabilité et améliorer la lisibilité de la classe. classe. La maintenabilité réduit les risques causés par les changements de classe. Normalement, nous devrions respecter le principe de responsabilité unique. Seule la logique de classe est suffisamment simple pour violer le principe de responsabilité unique. Le principe peut être maintenu au niveau de la méthode.

2) Principe d'isolation des interfaces

Le client ne doit pas s'appuyer sur des interfaces dont il n'a pas besoin ; la dépendance d'une classe par rapport à une autre classe doit être basée sur la plus petite interface ; .

Tutoriels vidéo associés recommandés : Tutoriels vidéo gratuits Java

3) Principe d'inversion de dépendance(Principe d'inversion de dépendance, DIP)

1. Les modules de haut niveau ne doivent pas dépendre des modules de bas niveau, les deux doivent s'appuyer sur leurs abstractions

2 Les abstractions ne doivent pas dépendre des détails

3. 🎜>

4, Chaque implémentation logique est composée de logique atomique. La logique atomique indivisible est le module de bas niveau (généralement une interface, une classe abstraite), et l'assemblage de logique atomique est le module de haut niveau. Dans le langage Java, l'abstraction fait référence à des interfaces et/ou des classes abstraites, dont aucune ne peut être directement instanciée. Les détails sont des classes d'implémentation. Les classes générées par l'implémentation d'interfaces ou l'héritage de classes abstraites sont des détails et peuvent être instanciées directement.

4) Principe de substitution de Liskov

Si pour chaque objet o1 de type S, il existe un objet o2 de type T, tel que tous les objets définis avec T Quand tous les objets o1 du programme P sont remplacés par o2, le comportement du programme P ne change pas, alors le type S est un sous-type du type T.

Toutes les références à une classe de base doivent pouvoir utiliser de manière transparente les objets de ses sous-classes.

La deuxième définition est la plus claire. En termes simples, tant que la classe parent peut apparaître, la sous-classe peut apparaître, et son remplacement par une sous-classe ne provoquera aucune erreur ou exception. besoin de savoir s'il s'agit d'une classe parent ou d'une sous-classe. Cependant, l’inverse n’est pas vrai lorsque des sous-classes apparaissent, la classe parent peut ne pas être en mesure de s’adapter.

Lorsque vous utilisez l'héritage, essayez de ne pas remplacer les méthodes de la classe parent.

5) Principe ouvert-fermé (ocp)

Une entité logicielle telle qu'une classe, un module et une fonction doit être ouverte pour extension et fermée pour modification.

La mise en œuvre d'un logiciel doit être ouverte aux extensions et fermée aux modifications. Cela signifie qu'une entité logicielle doit réaliser des changements via des extensions, plutôt qu'en modifiant le code existant.

6) La loi de Déméter

est également connue sous le nom de principe de moindre connaissance (LKP). Elle peut également être exprimée comme si un objet devait avoir le moins de connaissances sur les autres objets. . Compréhension, c'est-à-dire qu'une classe doit en savoir le moins sur la classe dont elle a besoin pour se coupler ou appeler.

1. Parlez uniquement à vos amis immédiats (Parlez uniquement à vos amis immédiats) Parmi les cours, quels types de cours comptent comme amis ? Les classes qui apparaissent dans les variables membres et les paramètres d’entrée et de sortie des méthodes sont appelées classes amies membres. Les classes qui apparaissent dans le corps de la méthode n’appartiennent pas à des classes amies.

2. Il y a aussi une distance entre amis. Ne l'exposez pas trop, sinon le champ d'influence augmentera lors de la deuxième modification. Cela nécessite également que les méthodes publiques entre classes ne puissent pas être exposées sans scrupules

3. Si une méthode est dans la relation entre classes, la placer dans sa propre classe n'augmentera pas la relation entre classes, ni n'aura aucun impact sur cette classe. S'il y a un impact négatif, placez-le dans sa propre classe.

4. Effectuez soigneusement les opérations de sérialisation, pour RMI (Remote Method Invocation)

Bonne pratique : le cœur de la loi de Dimit réside dans le découplage entre les classes. Seul un faible couplage entre les classes permettra de réduire le taux de réutilisation. augmenter. Le résultat recherché est de générer un grand nombre de classes de transfert ou de saut.

7) Principe de synthèse et de réutilisation

Le principe de la réutilisation par synthèse/agrégation est d'utiliser certains objets existants dans un nouvel objet pour en faire une nouvelle partie d'objet ; les nouveaux objets atteignent l'objectif de réutiliser les fonctions existantes en déléguant à ces objets.

La brève description est la suivante : essayez d'utiliser la composition/agrégation et essayez de ne pas utiliser l'héritage.

Autres recommandations d'articles connexes :

Commencer à apprendre Java

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!

Étiquettes associées:
source:csdn.net
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