Skip to content

Husna-POYRAZ/builder_design_pattern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Builder Design Pattern

Suppose there is more than one field belonging to an object in object-oriented programming.

@Data
@AllArgsConstructor
public class Country {
    private String id;
    private String name;
    private String nativeName;
    private int phoneCode;
    private String continent;
    private String capital;
    private String currency;
    private List<String> languages;
}    

When creating the object, we pass the objects that we do not want to give a value as null.


Country country1 = new Country("TR", "Turkey", null, 0, null, null, null, null);

As the number of parameters increases, the readability will decrease. The probability of error will increase. With the Builder design pattern, if you want to set a field to null, you don't need to do anything. We can also use it like this by adding the @Builder annotation.

@Data
@AllArgsConstructor
@Builder
public class Country {
    private String id;
    private String name;
    private String nativeName;
    private int phoneCode;
    private String continent;
    private String capital;
    private String currency;
    private List<String> languages;
} 
Country country = Country.builder()
        .id("TR")
        .name("Turkey")
        .build();

About

Builder design pattern and builder annotation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages