Factory Pattern is one of the most common design patterns. In this example we will create a Factory interface, and concrete classes to implement this interface.
/*
Class: ItemType.java
*/
public interface ItemType{
void doSomething();
}
Item1.java
/*
Class: Item1.java
*/
public class Item1 implements Factory{
@Override
public void doSomething(){
System.out.println("My Item 1.");
}
}
Item2.java
/*
Class: Item2.java
*/
public class Item2 implements Factory{
@Override
public void doSomething(){
System.out.println("My Item 2.");
}
}
Item3.java
/*
Class: Item3.java
*/
public class Item3 implements Factory{
@Override
public void doSomething(){
System.out.println("My Item 3.");
}
}
ItemFactory.java
/*
Class: ItemFactory.java
*/
public class ItemFactory{
public ItemType getItem(String itemType){
it(itemType == null) {
return null;
}
if(itemType.equalsIgnoreCase("Item1")){
return new Item1();
}else if(itemType.equalsIgnoreCase("Item2")){
return new Item2();
}else if(itemType.equalsIgnoreCase("Item3")){
return new Item3();
}
return null;
}
}
FactoryPatternDemo
public class FactoryPatternDemo{
public static void main(String[] args) {
ItemFactory itemFactory = new ItemFactory();
ItemType someItem1 = itemFactory.getItem("Item1");
someItem1.doSomething();
ItemType someItem2 = itemFactory.getItem("Item2");
someItem2.doSomething();
ItemType someItem3 = itemFactory.getItem("Item3");
someItem3.doSomething();
}
}
Leave a comment