Maison >Java >javaDidacticiel >Quelles sont les utilisations des modèles de conception Java ?

Quelles sont les utilisations des modèles de conception Java ?

(*-*)浩
(*-*)浩original
2019-05-21 13:25:084358parcourir

Les modèles de conception Java sont généralement divisés en trois grandes catégories : les modèles de création, les modèles structurels et les modèles de comportement. Un modèle de conception sera présenté ci-dessous.

Quelles sont les utilisations des modèles de conception Java ?

Il existe 6 principes suivis par les modèles de conception :

1 Principe d'ouverture et de fermeture

Ouvert pour extension. , fermé pour modification.

2. Principe de substitution de Liskov

Ce n'est que lorsque la classe dérivée peut remplacer la classe de base et que la fonction de l'unité logicielle n'est pas affectée que la classe de base peut être véritablement réutilisée et les classes dérivées peuvent ajoutez également de nouveaux comportements basés sur les classes de base.

3. Principe d'inversion de dépendance

C'est la base du principe d'ouverture et de fermeture. La programmation d'interface repose sur l'abstraction plutôt que sur le concret.

4. Principe de ségrégation des interfaces

Utilisez plusieurs excuses isolées pour réduire le couplage.

5. Principe de Demeter (Principe de Demeter)

Une entité doit interagir le moins possible avec d'autres entités pour rendre les modules fonctionnels du système relativement indépendants.

6. Principe de réutilisation composite

Le principe est d'utiliser autant que possible la synthèse/agrégation au lieu de l'héritage. L'héritage détruit en fait l'encapsulation de la classe et les méthodes de la super classe peuvent être modifiées par la sous-classe.

Méthode d'usine de modèle de création

Le modèle d'usine couramment utilisé est l'usine statique, qui utilise la méthode statique comme similaire pour les effets auxiliaires telles que les classes d'outils courantes Utils, les classes d'usine n'ont généralement pas besoin d'être instanciées.

interface food{}

class A implements food{}
class B implements food{}
class C implements food{}
public class StaticFactory {
    private StaticFactory(){}
    
    public static food getA(){  return new A(); }
    public static food getB(){  return new B(); }
    public static food getC(){  return new C(); }
}

class Client{
    //客户端代码只需要将相应的参数传入即可得到对象
    //用户不需要了解工厂类内部的逻辑。
    public void get(String name){
        food x = null ;
        if ( name.equals("A")) {
            x = StaticFactory.getA();
        }else if ( name.equals("B")){
            x = StaticFactory.getB();
        }else {
            x = StaticFactory.getC();
        }
    }
}

Recommandations d'apprentissage associées : Tutoriel de base 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!

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
Article précédent:Comment apprendre Javaee ?Article suivant:Comment apprendre Javaee ?