SringSring

Tuesday, 28 October 2014

Factory Design pattern

package Com.Srini.DesignPatterns.Factory;

public class CurrencyFactory {
public static Currency getCurrencyByCountry(String cnty) throws Exception{
       
       if("IN".equalsIgnoreCase(cnty)){
           return new India();
       } else if("USA".equalsIgnoreCase(cnty)){
           return new USA();
       }
       throw new Exception("Invalid country...");
   }
   
   
   public static void main(String a[]){
       Currency india;
       try {
           india = CurrencyFactory.getCurrencyByCountry("USA");
           System.out.println("Indian currency: "+india.getCurrency());
           System.out.println("Indian currency symbol: "+india.getSymbol());
       } catch (Exception e) {
           e.printStackTrace();
       }
   }
}
-------------------------------------------
package Com.Srini.DesignPatterns.Factory;

public interface Currency {
public String getCurrency();
     
   public String getSymbol();
}
------------------------------------------
package Com.Srini.DesignPatterns.Factory;

public class India implements Currency{
@Override
   public String getCurrency() {
        
       return "Rupee";
   }
 
   @Override
   public String getSymbol() {
        
       return "Rs";
   }
 
   public static void main(String a[]){
        
       India in = new India();
       System.out.println(in.getSymbol());
   }
}
-------------------------------------
package Com.Srini.DesignPatterns.Factory;

public class USA implements Currency{
@Override
    public String getCurrency() {
         
        return "Dollar";
    }
 
    @Override
    public String getSymbol() {
         
        return "$";
    }
}

No comments:

Post a Comment