Java Builder Pattern
1. Concept
Sépare une construction complexe de sa représentation, afin que le même processus de construction puisse créer différentes représentations. [Séparation de la construction et de la présentation, représentations différentes pour une même construction]
La différence avec l'usine abstraite : Dans le patron constructeur, il y a un mentor, qui gère le constructeur, et l'utilisateur est en contact avec le mentor. Le mentor contacte le constructeur et se retrouve avec le produit. Autrement dit, le mode construction peut imposer un processus de construction étape par étape.
Le mode construction encapsule la création interne complexe en interne. Pour les appelants externes, il leur suffit de transmettre le générateur et les outils de construction. L'appelant n'a pas besoin de se soucier de la façon dont le produit fini est construit en interne.
Prenons un exemple simple, comme une voiture. Il y a de nombreuses pièces, roues, volants, moteurs et diverses petites pièces, etc. Il y a beaucoup de pièces, mais il y en a bien plus que celles-ci. ces pièces dans une voiture ? Ce processus d'assemblage est également très complexe (nécessitant une bonne technologie d'assemblage). Le mode constructeur consiste à combiner des composants et des groupes
2. >
3. Code Voici la méthode d'appel du constructeur :public interface Builder { void buildPartA(); void buildPartB(); void buildPartC(); Product getResult(); } //具体建造工具 public class ConcreteBuilder implements Builder { Part partA, partB, partC; public void buildPartA() { //这里是具体如何构建partA的代码 }; public void buildPartB() { //这里是具体如何构建partB的代码 }; public void buildPartC() { //这里是具体如何构建partB的代码 }; public Product getResult() { //返回最后组装成品结果 }; } //建造者 public class Director { private Builder builder; public Director( Builder builder ) { this.builder = builder; } public void construct() { builder.buildPartA(); builder.buildPartB(); builder.buildPartC(); } } public interface Product { } public interface Part { }
ConcreteBuilder builder = new ConcreteBuilder(); Director director = new Director( builder ); director.construct(); Product product = builder.getResult();
Merci d'avoir lu, j'espère que cela pourra vous aider, merci pour votre soutien à ce site !
Pour plus d'explications et d'exemples détaillés de modèles de création de modèles Java Builder, veuillez faire attention au site Web PHP chinois !