Maison >Java >javaDidacticiel >Modèles de conception et anti-modèles couramment utilisés dans les frameworks Java

Modèles de conception et anti-modèles couramment utilisés dans les frameworks Java

WBOY
WBOYoriginal
2024-06-04 17:49:07352parcourir

Modèles de conception et anti-modèles dans Java Framework : Modèles de conception : Modèle d'usine : simplifie la création d'objets sans spécifier de classes concrètes. Mode Singleton : assurez-vous qu'il n'y a qu'une seule instance pour faciliter la création d'objets globaux. Anti-modèle : Classe Dieu : Trop de comportements et de responsabilités, ce qui rend le code difficile à maintenir. Anti-modèle de saucisse : les processus dépendent les uns des autres, ce qui rend le code difficile à tracer et à exécuter.

Modèles de conception et anti-modèles couramment utilisés dans les frameworks Java

Modèles de conception et anti-modèles courants dans les frameworks Java

Dans les frameworks Java, les modèles de conception et les anti-modèles sont largement utilisés pour créer du code flexible et maintenable. Cet article présentera quelques modèles de conception et anti-modèles courants et démontrera leur application à travers des cas pratiques.

Modèles de conception

Modèle d'usine :
Le modèle d'usine est utilisé pour créer des instances d'objets sans spécifier leur classe concrète. Il permet la création de différents types d'objets sans modifier le code client.

public class Factory {

    public static Shape getShape(String type) {
        switch (type) {
            case "Circle":
                return new Circle();
            case "Rectangle":
                return new Rectangle();
            default:
                return null;
        }
    }
}

public class Main {

    public static void main(String[] args) {
        Shape shape = Factory.getShape("Circle");
        shape.draw();  // 输出:绘制圆形
    }
}

Modèle Singleton :
Le modèle singleton garantit qu'une classe n'a qu'une seule instance. Il est utilisé pour créer des objets globaux tels que des connexions à une base de données.

public class Singleton {

    private static Singleton instance;

    private Singleton() {}

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

public class Main {

    public static void main(String[] args) {
        Singleton instance1 = Singleton.getInstance();
        Singleton instance2 = Singleton.getInstance();

        System.out.println(instance1 == instance2);  // 输出:true
    }
}

Anti-Pattern

Anti-Pattern d'objet Dieu :
La classe Dieu est une classe qui contient trop de comportements et de responsabilités. Cela rend le code difficile à maintenir et à comprendre.

public class GodObject {

    // 大量的方法和字段...

    public void doSomething() {
        // 复杂的行为...
    }

    public void doSomethingElse() {
        // 另一个复杂的行为...
    }
}

Spaghetti Code Antipattern :
L'anti-modèle Spaghetti Code est un processus où il y a beaucoup d'interdépendances dans le code. Cela rend difficile la compréhension et le suivi de l’exécution du code.

public class SpaghettiCode {

    public void foo() {
        bar();
        if (condition) {
            baz();
        } else {
            qux();
        }
    }

    public void bar() {
        // 依赖于 foo()
    }

    public void baz() {
        // 依赖于 foo()
    }

    public void qux() {
        // 依赖于 foo()
    }
}

En comprenant et en appliquant ces modèles de conception et anti-modèles, les développeurs peuvent créer un code-cadre Java plus robuste et plus maintenable.

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