What was the problem in factory design pattern? We create a class and assign all responsibilities for object creation. This class have static method also called static factory. Remember we pass parameters to factory method and these parameters will be pass to the next class constructor, whose object we want to create. What was the problem? The parameters we want to pass in next class constructor, first they all need to pass to factory method. The order of the parameters matters. Might be some parameters are optional. Therefore management of parameters is very difficult. Imagine you are building a system for Car, Burger, Computer. These system have 1. multiple parts. 2. can be created with different configuration 3. some parts are optional 4. You can't pass 10+ argument to construction order management start complex. Without Builder pattern Your constructor is become messy. <?php $car = new Car ( "Red" , "SUV" , true , true , false , "Auto" , ...