Adding codes for abstract factory Pattern
ADDED code for Builder Pattern