Thursday, October 17, 2019

Builder Design Pattern

Java Builder Pattern:

1. Primary Builder Pattern Example:
--------------------------------
https://github.com/davidmoten/java-builder

2. Java Builder Pattern tricks - you must know:
--------------------------------------------
https://github.com/davidmoten/java-builder-pattern-tricks


Pattern Builder:
----------------
Builder pattern is a creational design pattern as Factory Pattern and Abstract Factory Pattern. This pattern was introduced to solve some of the problems with Factory and Abstract Factory patterns when the Object contains a lot of attributes. This pattern deals with a static nested class and then copy all the arguments from the outer class to the Builder class. The sample code where we have a Computer class and ComputerBuilder to build it are available in the package com.builder.Computer. Here's a test program showing how to use Builder class to get object.

import com.builder.Computer;

public class TestBuilderPattenr{
  public static void main(String[] args){

      Computer comp = new Computer.ComputerBuilder(
      "500 GB","2 GB").setBluetoothEnabled(true)
      .setGraphicsCardEnabled(true).build(); // -)
      )
  }

}
There are really various implementations of this pattern in JDK : java.lang.StringBuilder#append() (unsynchronized) java.lang.StringBuffer#append() (synchronized) .

Resource Link: https://github.com/sdmg15/Java-design-patterns

https://github.com/sanketgupta07/DesignPattern/tree/master/src/pattern