Pourquoi ne pouvons-nous pas les différentes étapes de construction dans le constructeur lui-même. si les étapes de construction prennent des arguments, pourquoi ne peuvent-elles pas être fournies en tant qu'arguments au constructeur et utilisées dans le constructeur pour créer l'objet. AFAIK, dans le modèle Builder, le client à créer l'objet spécifique; alors quel est l'avantage d'utiliser un constructeur au lieu d'un constructeur avec des arguments dans l'objet de la classe en cours de création?Pourquoi le modèle Builder est-il meilleur qu'un constructeur avec des arguments dans l'objet de la classe en cours de création?
Répondre
Oh! J'ai compris. Je regardais l'exemple de Wikipedia et j'ai compris pourquoi Builder est utile. C'est utile, quand le client ne sait pas quels arguments passer au constructeur car c'est très compliqué et par conséquent ne peut pas appeler le constructeur directement et obtenir l'objet. Par conséquent, il demande de l'aide aux Concrete Builders qui savent quels arguments transmettre aux constructeurs et donc obtenir l'objet créé. Fondamentalement, si le client est celui qui passera le plus souvent les arguments au constructeur de la classe dont l'objet est créé, Builder n'est pas très utile. Il est peut-être préférable d'utiliser le prototype. D'un autre côté, s'il existe un petit ensemble fini d'objets spécifiques qui peuvent être créés à partir de la classe en passant des arguments au constructeur (ou aux setters appelant) à cette classe et s'ils sont fréquemment utilisés, alors mieux vaut pour encapsuler cet argument en passant thingy dans la classe Builder et les utiliser pour créer les objets pour vous.