Basic Builder Example
This program demonstrates Builder design pattern.
Problem Statement
Write a Java program to implement Builder pattern for creating complex object User.
Source Code
| 1 | class User { |
| 2 | String name; int age; String email; |
| 3 | private User(UserBuilder builder){ |
| 4 | this.name=builder.name; this.age=builder.age; this.email=builder.email; |
| 5 | } |
| 6 | static class UserBuilder { |
| 7 | String name; int age; String email; |
| 8 | UserBuilder setName(String n){ name=n; return this; } |
| 9 | UserBuilder setAge(int a){ age=a; return this; } |
| 10 | UserBuilder setEmail(String e){ email=e; return this; } |
| 11 | User build(){ return new User(this); } |
| 12 | } |
| 13 | } |
| 14 | public class BuilderBasic { |
| 15 | public static void main(String[] args) { |
| 16 | System.out.println("Eduinq Builder Basic"); |
| 17 | User u=new User.UserBuilder().setName("Arun").setAge(25).setEmail("arun@eduinq.com").build(); |
| 18 | System.out.println("User: "+u.name+", Age: "+u.age+", Email: "+u.email); |
| 19 | } |
| 20 | } |
Program Output
Eduinq Builder Basic User: Arun, Age: 25, Email: arun@eduinq.com
Explanation
Builder separates construction from representation. - Step by step building of complex object. - Provides flexibility and readability. - Useful for immutable or complex objects. Conclusion: Shows how to implement Builder pattern.