Maison Java javaDidacticiel Développement Java : comment refactoriser le code et appliquer des modèles de conception

Développement Java : comment refactoriser le code et appliquer des modèles de conception

Sep 21, 2023 am 08:42 AM
- 代码重构 - Mode conception - développement Java

Développement Java : comment refactoriser le code et appliquer des modèles de conception

Développement Java : Comment effectuer une refactorisation de code et l'application de modèles de conception

Dans le développement de logiciels, la refactorisation de code et l'application de modèles de conception sont des moyens importants pour améliorer la qualité et la maintenabilité du code. La refactorisation du code fait référence à l'amélioration de la structure, de la conception et des performances du code existant, tandis que les modèles de conception sont des modèles éprouvés pour résoudre les problèmes. Cet article expliquera comment refactoriser le code et appliquer des modèles de conception, et donnera des exemples de code spécifiques.

1. Refactorisation de code

  1. Méthode d'extraction

La méthode d'extraction consiste à extraire un code répétitif dans une méthode indépendante pour augmenter la lisibilité et la maintenabilité du code. Par exemple, le code suivant a une logique répétée à plusieurs endroits :

public void printUserInfo(User user) {
    System.out.println("Name: " + user.getName());
    System.out.println("Age: " + user.getAge());
    System.out.println("Email: " + user.getEmail());
}

public void printOrderInfo(Order order) {
    System.out.println("Order ID: " + order.getId());
    System.out.println("Order Date: " + order.getDate());
    System.out.println("Order Total: " + order.getTotal());
}
Copier après la connexion

Nous pouvons extraire ce code répété dans une méthode indépendante :

public void printInfo(String label, Printable printable) {
    System.out.println(label + printable.getInfo());
}

public interface Printable {
    String getInfo();
}

public class User implements Printable {
    // ...
    public String getInfo() {
        return "Name: " + name + "
Age: " + age + "
Email: " + email;
    }
}

public class Order implements Printable {
    // ...
    public String getInfo() {
        return "Order ID: " + id + "
Order Date: " + date + "
Order Total: " + total;
    }
}
Copier après la connexion

En extrayant les méthodes, nous pouvons réduire la duplication du code et l'améliorer. Encapsuler et réutiliser la logique.

  1. Consolider l'expression conditionnelle

Lorsque nous constatons qu'il existe une logique répétée dans plusieurs expressions conditionnelles, nous pouvons les fusionner en une expression plus simple et plus lisible. Par exemple, le code suivant a une logique de jugement répété :

public double calculateDiscount(double price, int quantity) {
    double discount = 0.0;
    if (price > 100 && quantity > 5) {
        discount = price * 0.1;
    } else if (price > 200 && quantity > 10) {
        discount = price * 0.2;
    } else if (price > 300 && quantity > 15) {
        discount = price * 0.3;
    }
    return discount;
}
Copier après la connexion

Nous pouvons fusionner cette condition répétée en une expression plus simple :

public double calculateDiscount(double price, int quantity) {
    double discount = 0.0;
    if (price > 300 && quantity > 15) {
        discount = price * 0.3;
    } else if (price > 200 && quantity > 10) {
        discount = price * 0.2;
    } else if (price > 100 && quantity > 5) {
        discount = price * 0.1;
    }
    return discount;
}
Copier après la connexion

En fusionnant des conditions répétées, nous pouvons améliorer la lisibilité et la maintenance du code sexe.

2. Application de modèle de conception

  1. Modèle Singleton (Singleton)

Le modèle singleton est un modèle de conception qui garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global. Dans le développement réel, le mode singleton est souvent utilisé pour gérer les ressources partagées, les informations de configuration, etc. Voici un exemple simple du modèle singleton :

public class Singleton {
    private static Singleton instance;

    private Singleton() {}

    public static Singleton getInstance() {
        if (instance == null) {
            synchronized (Singleton.class) {
                if (instance == null) {
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }
}
Copier après la connexion

En utilisant le mécanisme de verrouillage à double vérification, nous pouvons garantir la création d'une instance unique dans un environnement multithread.

  1. Factory

Le modèle d'usine est un modèle de conception qui crée différents objets en fonction de différents paramètres. Dans le développement réel, le modèle d'usine est souvent utilisé pour masquer la logique de création d'objets et fournir une interface cohérente pour créer des objets. Voici un exemple simple de modèle d'usine :

public interface Shape {
    void draw();
}

public class Circle implements Shape {
    public void draw() {
        System.out.println("Drawing a circle.");
    }
}

public class Rectangle implements Shape {
    public void draw() {
        System.out.println("Drawing a rectangle.");
    }
}

public class ShapeFactory {
    public static Shape createShape(String type) {
        if (type.equals("circle")) {
            return new Circle();
        } else if (type.equals("rectangle")) {
            return new Rectangle();
        }
        return null;
    }
}
Copier après la connexion

En utilisant le modèle d'usine, nous pouvons découpler la création et l'utilisation d'objets, augmentant ainsi la flexibilité et la maintenabilité du code.

Résumé :

La refactorisation du code et l'application de modèles de conception sont des moyens importants pour améliorer la qualité et la maintenabilité du code. En refactorisant correctement le code et en appliquant des modèles de conception, nous pouvons réduire la duplication de code et améliorer la lisibilité et la maintenabilité du code. Dans le développement réel, nous devons également choisir des techniques de refactorisation et des modèles de conception appropriés pour optimiser le code en fonction de la situation réelle et des exigences de conception du projet.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Partage d'expérience de développement Java à partir de zéro : création d'un système de messagerie instantanée Partage d'expérience de développement Java à partir de zéro : création d'un système de messagerie instantanée Nov 20, 2023 pm 05:10 PM

Le langage Java est devenu le pilier des applications d'entreprise et du développement back-end. Pour les débutants, il est recommandé de commencer par un projet de développement relativement simple, comme la création d'un système de messagerie instantanée. Grâce à ce projet, vous pouvez acquérir les concepts et compétences de base de Java, tels que la programmation orientée objet, la programmation réseau, la programmation multithread et les opérations de base de données. Ce qui suit est un partage d'expérience sur la création d'un système de messagerie instantanée Java à partir de zéro. Conception de la structure de la base de données Il faut d'abord concevoir la structure de la base de données, qui constitue le fondement de toute application. Pour les systèmes de messagerie instantanée, vous avez besoin

Comment réaliser la réutilisation du code et la conception de composants dans le développement Java Comment réaliser la réutilisation du code et la conception de composants dans le développement Java Oct 09, 2023 pm 11:16 PM

Présentation de la façon de réaliser la réutilisation du code et la conception par composants dans le développement Java : Dans le développement Java quotidien, la réutilisation du code et la conception par composants sont des concepts très importants. En utilisant rationnellement les méthodes de réutilisation du code et de conception de composants, nous pouvons améliorer la maintenabilité, l'évolutivité et la réutilisabilité du code, réduire l'apparition de code redondant et améliorer l'efficacité du développement. 1. Méthodes de réutilisation du code : 1.1 Héritage : L'héritage est une méthode couramment utilisée de réutilisation du code. La réutilisation du code peut être réalisée en héritant des propriétés et des méthodes de la classe parent. Par exemple, nous avons un

Solutions aux problèmes d'optimisation du code Java Solutions aux problèmes d'optimisation du code Java Jun 30, 2023 pm 09:07 PM

Comment résoudre les problèmes d'optimisation de code rencontrés en Java Lors du développement d'applications Java, nous rencontrons souvent le problème de la faible efficacité du code. Ces problèmes peuvent ralentir l'exécution du programme, consommer de grandes quantités de ressources ou même provoquer un blocage du programme. En réponse à ces problèmes, nous devons optimiser le code pour améliorer les performances et l'efficacité du programme. Cet article explorera certains problèmes courants d'optimisation du code Java et fournira quelques idées de solutions. 1. Optimisation de boucle La boucle est une structure que nous utilisons souvent, mais si la boucle est trop complexe ou s'il y a des opérations redondantes

Comment implémenter la gestion de la classification des plats dans le système de commande de développement Java Comment implémenter la gestion de la classification des plats dans le système de commande de développement Java Nov 01, 2023 pm 01:48 PM

Comment implémenter la gestion de la classification des plats dans le développement Java des systèmes de commande. Dans le secteur de la restauration, le développement des systèmes de commande a attiré de plus en plus d'attention, ce qui peut considérablement améliorer l'efficacité et la qualité du service des restaurants. Parmi eux, la gestion de la classification des plats est un module fonctionnel important du système de commande. Cet article explique comment implémenter la gestion de la classification des plats dans un système de commande Java. 1. Analyse des besoins Dans le module de gestion des catégories de plats, nous devons implémenter les fonctions suivantes : Ajouter une catégorie de plats : Vous pouvez ajouter de nouvelles catégories de plats au système, y compris les noms de catégories, les icônes de catégorie, etc. Modifier le plat

Délai pour répondre aux questions dans le système d'examen en ligne de développement Java Délai pour répondre aux questions dans le système d'examen en ligne de développement Java Sep 24, 2023 pm 08:09 PM

Le délai de réponse aux questions dans le système d'examen en ligne de développement Java nécessite des exemples de code spécifiques lors du développement d'un système d'examen en ligne, la limitation du temps de réponse aux questions est l'une des fonctions très importantes. Cela garantit que les étudiants complètent leurs réponses dans le temps imparti et soumettent leurs copies d'examen en temps opportun. Cet article présentera comment implémenter la fonction de délai pour répondre aux épreuves via le code Java. Tout d’abord, nous devons définir une minuterie pour enregistrer l’heure à laquelle les étudiants commencent à répondre aux questions. Vous pouvez utiliser System.currentTime en Java

Développement Java : comment refactoriser le code et appliquer des modèles de conception Développement Java : comment refactoriser le code et appliquer des modèles de conception Sep 21, 2023 am 08:42 AM

Développement Java : comment effectuer la refactorisation du code et l'application de modèles de conception. Dans le développement de logiciels, la refactorisation du code et l'application de modèles de conception sont des moyens importants pour améliorer la qualité et la maintenabilité du code. La refactorisation du code fait référence à l'amélioration de la structure, de la conception et des performances du code existant, tandis que les modèles de conception sont des modèles éprouvés pour résoudre les problèmes. Cet article expliquera comment refactoriser le code et appliquer des modèles de conception, et donnera des exemples de code spécifiques. 1. Méthode d'extraction de refactorisation de code (ExtractMethod) La méthode d'extraction consiste à extraire un morceau de code répété

Partage d'expérience de développement Java à partir de zéro : créer un système de messagerie instantanée Partage d'expérience de développement Java à partir de zéro : créer un système de messagerie instantanée Nov 20, 2023 pm 05:10 PM

Le langage Java est devenu le pilier des applications d'entreprise et du développement back-end. Pour les débutants, il est recommandé de commencer par un projet de développement relativement simple, comme la création d'un système de messagerie instantanée. Grâce à ce projet, vous pouvez acquérir les concepts et compétences de base de Java, tels que la programmation orientée objet, la programmation réseau, la programmation multithread et les opérations de base de données. Ce qui suit est un partage d'expérience sur la création d'un système de messagerie instantanée Java à partir de zéro. Conception de la structure de la base de données Il faut d'abord concevoir la structure de la base de données, qui constitue le fondement de toute application. Pour les systèmes de messagerie instantanée, vous avez besoin

Java développe une fonction de gestion des niveaux d'adhésion dans le système de retrait Java développe une fonction de gestion des niveaux d'adhésion dans le système de retrait Nov 01, 2023 pm 01:19 PM

Fonction de gestion du niveau d'adhésion dans le système de développement Java à emporter Avec le développement rapide de l'Internet mobile, l'industrie des plats à emporter se développe progressivement sur le marché chinois. En tant qu'élément important de la vie des gens, le système de plats à emporter de plus en plus perfectionné et pratique est devenu l'objectif de la recherche de l'expérience utilisateur. Parmi eux, la fonction de gestion du niveau d'adhésion est un élément important du système de plats à emporter, qui peut offrir aux utilisateurs plus de réductions et de services, et peut également promouvoir efficacement la volonté de consommation et la fidélité des utilisateurs. En tant que langage de programmation mature et puissant, Java joue un rôle important dans le développement de systèmes à emporter.

See all articles