Java Factory Design Pattern Example

Chapter: Miscellaneous Last Updated: 06-06-2017 17:49:18 UTC

Program:

            /* ............... START ............... */
                
interface Currency {
	String getCurrencySign();
}

class Rupee implements Currency {
	@Override
	public String getCurrencySign() {
		return "RS";
	}
}

class USDollar implements Currency {
	@Override
	public String getCurrencySign() {
		return "USD";
	}
}

class BritishPound implements Currency {
	@Override
	public String getCurrencySign() {
		return "GBP";
	}
}

class CurrencyFactory {

	public static Currency createCurrency(String country) {
		if (country.equalsIgnoreCase("India")) {
			return new Rupee();
		} else if (country.equalsIgnoreCase("UK")) {
			return new BritishPound();
		} else if (country.equalsIgnoreCase("US")) {
			return new USDollar();
		}
		return null;
	}
}

public class JavaFactoryDesign {

	public static void main(String args[]) {

		Currency rupee = CurrencyFactory.createCurrency("India");
		System.out.println("Currency for India : " + rupee.getCurrencySign());

		rupee = CurrencyFactory.createCurrency("UK");
		System.out.println("Currency for UK : " + rupee.getCurrencySign());

	}

}

                /* ............... END ............... */
        

Output

Currency for India : RS
Currency for UK : GBP

Notes:

  • In Factory pattern, we create object without exposing the creation logic to the client and refer to newly created object using a common interface.

Tags

Factory Design Pattern, Java, Miscellaneous

Similar Programs Chapter Last Updated
Data Types In Java Miscellaneous 09-06-2018
Java Program To Find Largest Element Of Array Miscellaneous 21-09-2017
Java Program To Check Whether Number Is Prime Or Not Miscellaneous 08-09-2017
Java Program To Find Power Of Number Using For Loop Miscellaneous 29-08-2017
Java Program To Find LCM Of Two Numbers Miscellaneous 29-08-2017
Java Program To Find GCD Of Two Numbers Miscellaneous 29-08-2017
Java Program To Check Whether An Alphabet Is Vowel Or Consonant Miscellaneous 25-08-2017
Java Program To Find ASCII Value Of Character Miscellaneous 25-08-2017
Java Object HashCode Method Miscellaneous 02-08-2017
Java Builder Design Pattern Example Miscellaneous 06-06-2017
Java Program To Print ASCII Values Miscellaneous 06-04-2017
Java Program To Find HCF LCM Of Two Numbers Miscellaneous 22-09-2018
Java String Array Iteration Miscellaneous 31-03-2017
Java Array Size Miscellaneous 30-03-2017
Java Integer toString Miscellaneous 30-03-2017
Java Sort Array Using Arrays.sort() Miscellaneous 28-03-2017
Java Print Array Using Arrays.toString Miscellaneous 28-03-2017
Java Nested Interface Miscellaneous 25-03-2017
Java Static Nested Class Miscellaneous 25-03-2017
Packages In Java Miscellaneous 24-03-2017
Java Strictfp Keyword Miscellaneous 24-03-2017
Java Call By Reference Miscellaneous 23-03-2017
Java Call By Value Miscellaneous 23-03-2017
Java Unboxing Example Miscellaneous 23-03-2017
Java Autoboxing Example Miscellaneous 23-03-2017
Java Format Currency Miscellaneous 15-02-2017
Java String To BigDecimal Conversion Miscellaneous 15-02-2017
Java Program To Convert Arraylist To Array Miscellaneous 13-02-2017
Java Array Creation And Initialize Miscellaneous 13-02-2017
Java Program To Print Square Pattern Of Star Miscellaneous 16-12-2016

1 2 3 4 5