Nov 18, 2016 Builder Design Pattern is described in Gang of Four (GoF) book and comes in the category of Creational Pattern. Following is the definition of Builder Pattern as taken from Gang of Four (GoF) book: “Separate the construction of a complex object from its representation so that the same construction process can create different representations.”. The standard method for breading foods is a three-step procedure, creating a crispy coating before frying them. It's a basic process that's used all the time in the culinary arts, for making everything from fried chicken to onion rings.
Member 14118759 15-Jan-19 5:11 15-Jan-19 5:11 Hi Snesh, Thanks for your article, it really helped me. My question is about how we should proceed if we know that the Director is likely to need new steps in the future. For example, suppose we know that manufacturers are planning to include a new feature, e.g. A bell, on some bicycles.
We also think they might add more new features in the future. In other words, we think that the Director needs to be open for extension. Using the example you provided, for each new feature we would need to add a new method to the interface IBicycleBuilder, e.g. Vzlomannaya igra castle clash.
This means that every single one of the concrete builder classes would have to be amended to implement the new method, even though most of them won't need it. This doesn't seem right to me. I'm just learning about object oriented programming, so please correct me if I'm wrong, but I think the Director doesn't follow the Open/Closed principle. I also think the example I've given means we are in danger of creating a 'fat' interface. Am I right in thinking that one would only use the Builder pattern if it's very unlikely that they would need to add to the steps defined in the interface? I hope you can take the time to answer this! I've been looking all over the internet and read several books but no one seems to mention this as a drawback of the builder pattern and I'm desperate for an answer!
Thank you, Andi.