builder pattern development process in the real world with some languageslike javayou can overload the constructor with many different options in terms of the parameters accepted and what is then constructed in turn alsonotice that the if conditional in the constructor __init__(could be defined more clearly ' sure you have lot of objections to this implementationand you should before we clean it up little morewe are going to quickly look at anti-patterns anti-patterns an anti-pattern isas the name suggeststhe opposite of software pattern it is also something that appears regularly in the process of software development anti-patterns are usually general way to work around or attempt to solve specific type of problembut are also the wrong way to solve the problem this does not mean that design patterns are always the right way what it means is that our goal is to write clean code that is easy to debugeasy to updateand easy to extend anti-patterns lead to code that is exactly the opposite of these stated goals they produce bad code the problem with the telescoping constructor anti-pattern is that it results in several constructorseach with specific number of parametersall of which then delegate to default constructor (if the class is properly writtenthe builder pattern does not use numerous constructorsit uses builder object instead this builder object receives each initialization parameter step by step and then returns the resulting constructed object as single result in the webform examplewe want to add the different fields and get the generated webform as result an added benefit of the builder pattern is that it separates the construction of an object from the way the object is representedso we could change the representation of the object without changing the process by which it is constructed in the builder patternthe two main players are the builder and the director the builder is an abstract class that knows how to build all the components of the final object in our casethe builder class will know how to build each of the field types it can assemble the various parts into complete form object the director controls the process of building there is an instance (or instancesof builder that the director uses to build the webform the output from the director is fully initialized object--the webformin our example the director implements the set of instructions for setting up webform from the fields it contains this set of instructions is independent of the types of the individual fields passed to the director