Builder + Dependency Injection Integration

This program integrates Builder and Dependency Injection patterns.

Problem Statement

Write a Java program where User is built using Builder and injected into Client.

Source Code

1 class User {
2 String name; int age;
3 private User(UserBuilder builder){ name=builder.name; age=builder.age; }
4 static class UserBuilder {
5 String name; int age;
6 UserBuilder setName(String n){ name=n; return this; }
7 UserBuilder setAge(int a){ age=a; return this; }
8 User build(){ return new User(this); }
9 }
10 }
11 class Client {
12 private User user;
13 Client(User u){ user=u; }
14 void show(){ System.out.println("Client has user: "+user.name+", Age: "+user.age); }
15 }
16 public class BuilderDI {
17 public static void main(String[] args) {
18 System.out.println("Eduinq Builder + DI");
19 User u=new User.UserBuilder().setName("Arun").setAge(25).build();
20 Client c=new Client(u);
21 c.show();
22 }
23 }

Program Output

Eduinq Builder + DI
Client has user: Arun, Age: 25

Explanation

Builder constructs complex User object step by step. - Dependency injection passes User into Client via constructor. - This integration demonstrates combining design patterns for flexible, testable, and maintainable systems. Conclution: Shows integration of Builder and Dependency Injection patterns.

Quick Links to Explore