Maison  >  Article  >  Java  >  Qu'est-ce que le modèle Java Builder

Qu'est-ce que le modèle Java Builder

WBOY
WBOYavant
2023-05-02 12:04:061281parcourir

1.Posez une question

Supposons que nous devions construire une maison : le processus consiste à empiler, à construire des murs et à couvrir. Il existe différents types de maisons, telles que les maisons ordinaires, les immeubles de grande hauteur et les villas. Bien que le processus soit le même pour tous les types de maisons, les exigences ne sont pas les mêmes. 3) Veuillez rédiger un programme pour répondre aux exigences.

L'idée traditionnelle doit se présenter sous la forme du diagramme de classes suivant. .

Quest-ce que le modèle Java Builder

L'avantage de cette méthode d'écriture est qu'elle est plus facile à comprendre et à utiliser.

Les inconvénients sont : la structure du programme conçue est trop simple, aucun objet de couche de cache n'est conçu et le programme ne peut pas être étendu et correctement maintenu. En d'autres termes, ce schéma de conception encapsule le produit (c'est-à-dire : la maison) et le processus de création du produit (c'est-à-dire : le processus de construction de la maison), et le couplage est amélioré.

Solution : Découpler le produit et le processus de construction du produit => Modèle de constructeur.

2. Qu'est-ce que le mode constructeur ?

  • Builder Pattern (Builder Pattern), également appelé générateur de modèle, est un modèle de construction d'objets qui peut résumer le processus de construction d'objets complexes (catégorie abstraite), de sorte que différentes méthodes d'implémentation de ce processus abstrait peuvent construire des objets avec différentes performances (propriétés)

  • Le modèle de constructeur vous permet de créer un objet complexe étape par étape. objets uniquement en spécifiant leur type et leur contenu. Les utilisateurs n'ont pas besoin de connaître les détails de construction spécifiques à l'intérieur. Rôle :

Produit (rôle du produit) : Un objet produit spécifique.

  • Builder (Abstract Build Author) : Créez une interface/classe abstraite spécifiée par chaque composant d'un objet Product

  • .

    ConcreteBuilder (concrete builder) : implémente l'interface, construit et assemble chaque composant # 🎜🎜#

  • Director : Construit un objet à l'aide de l'interface Builder. fonctions. L'une est : Le processus de production du client et de l'objet est isolé. La seconde est : Responsable du contrôle du processus de production de l'objet produit. Si le cas ci-dessus de construction d'une maison est résolu en utilisant le modèle de constructeur, alors la classe. Le diagramme sera le suivant (les quatre rôles principaux y sont), la classe House est le produit spécifique (l'entité de la maison que nous voulons construire) et le HouseBuilder est un constructeur abstrait, le processus de construction spécifique n'est pas implémenté en interne. , mais est complété par plusieurs sous-classes en dessous. Ces sous-classes sont des constructeurs spécifiques (CommonHouse, HighBuilding), et le commandant est HouseDirector, qui est responsable du processus de construction de l'objet (quel type de maison dois-je construire). Le client final est notre classe de test 🎜🎜#

    3.Modèle Builder dans JDK

  • Jetons un coup d'œil à la classe StringBuilder, à sa classe parent et aux interfaces associées implémentées par la classe parent. . #

Quest-ce que le modèle Java BuilderL'interface annexe en définit plusieurs. Une méthode append (méthode abstraite), c'est-à-dire Appendable est un constructeur abstrait et définit une méthode abstraite, elle ne peut tout simplement pas être instanciée.

Quest-ce que le modèle Java Builder

StringBuilder agit en tant que commandant et constructeur spécifique. L'implémentation de la méthode de construction est complétée par AbstractStringBuilder, et StringBuilder hérite de AbstractStringBuilder.

4. Résumé du modèle Builder

Quest-ce que le modèle Java Builder

Le client (le programme utilisateur) n'a pas besoin de connaître le composition interne des détails du produit, dissocier le produit lui-même du processus de création de produit, de sorte que le même processus de création puisse créer différents objets de produit. Quest-ce que le modèle Java Builder

Quest-ce que le modèle Java BuilderChaque constructeur de béton est relativement indépendant et n'a rien à voir avec d'autres constructeurs de béton, il est donc facile de remplacer les constructeurs de béton ou d'ajouter de nouveaux constructeurs de béton, les utilisateurs peuvent obtenir différents objets produit en utilisant différents constructeurs spécifiques.

  • permet un contrôle plus granulaire sur le processus de création de produits. La décomposition des étapes de création de produits complexes en différentes méthodes rend le processus de création plus clair et facilite l'utilisation de programmes pour contrôler le processus de création.

  • L'ajout de nouveaux constructeurs concrets ne nécessite pas de modifier le code de la bibliothèque de classes d'origine. La classe Commander est programmée pour la classe des constructeurs abstraits. Le système est facile à étendre et. est conforme au "principe d'ouverture-fermeture"".

  • Les produits créés par le mode constructeur ont généralement de nombreux points communs et leurs composants sont similaires. Si les différences entre les produits sont importantes, il n'est pas approprié d'utiliser le mode constructeur, son champ d'utilisation est donc soumis à certaines conditions. restrictions.

  • Si les modifications internes du produit sont complexes, cela peut entraîner la nécessité de définir de nombreuses classes de constructeurs spécifiques pour implémenter de telles modifications, ce qui rend le système très volumineux. Par conséquent, dans ce cas, réfléchissez à l'opportunité de choisir la. modèle de constructeur.

  • Le modèle d'usine abstrait réalise la création de familles de produits. Une famille de produits est une série de produits : des combinaisons de produits avec différentes dimensions de classification. L'utilisation du modèle d'usine abstrait ne nécessite pas de se soucier du processus de construction, mais uniquement de la nature des produits. produit par quelles usines. Le modèle constructeur nécessite de construire un produit selon un plan spécifié. Son objectif principal est de fabriquer un nouveau produit en assemblant des pièces de rechange.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer