// Basic usage
User user1 = new User.Builder("John", "Doe")
.age(30)
.email("[email protected]")
.phone("123-456-7890")
.build();
// Minimal required parameters
User user2 = new User.Builder("Jane", "Smith")
.build();
// With some optional parameters
User user3 = new User.Builder("Bob", "Johnson")
.email("[email protected]")
.build();
// Method chaining is readable
User user4 = new User.Builder("Alice", "Williams")
.age(25)
.email("[email protected]")
.phone("555-1234")
.build();
// Product builder usage
Product product = new ProductBuilder()
.name("Laptop")
.price(999.99)
.category("Electronics")
.build();
// Validation example
try {
User invalid = new User.Builder("Test", "User")
.age(-5) // Will throw exception in build()
.build();
} catch (IllegalStateException e) {
System.out.println("Validation failed: " + e.getMessage());
}