Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Builder pattern
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Overview== The builder design pattern solves problems like:<ref>{{cite web|title=The Builder design pattern - Problem, Solution, and Applicability|url=http://w3sdesign.com/?gr=c02&ugr=proble|website=w3sDesign.com|access-date=2017-08-13}}</ref> * How can a class (the same construction process) create different representations of a complex object? * How can a class that includes creating a complex object be simplified? Creating and assembling the parts of a complex object directly within a class is inflexible. It commits the class to creating a particular representation of the complex object and makes it impossible to change the representation later independently from (without having to change) the class. The builder design pattern describes how to solve such problems: * Encapsulate creating and assembling the parts of a complex object in a separate <code>Builder</code> object. * A class delegates object creation to a <code>Builder</code> object instead of creating the objects directly. A class (the same construction process) can delegate to different <code>Builder</code> objects to create different representations of a complex object.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)