| 
         
     
     | 
     | 
    
  
    | 
    使用UML编写Java 设计模式例子 FactoryMethod Pattern | 
   
  
     | 
   
  
     | 
   
  
    | 
     作者:未知  来源:月光软件站  加入时间:2005-2-28 月光软件站  | 
   
  
    
摘自久久学院 看了论坛上的文章,读FactoryMethod Pattern UML图,写了个小例子程序。做为文章的补充! 
//Creator.java
  public abstract class Creator {     /**      *  looks like a factory      *  contains some products and some process methods      */     protected Product duct;     abstract String processProduct();     abstract String processProductSpecial();     public String Operation()     {         return processProduct(); // FactoryMethod for implemention;     } }
  //ConcreteProduct.java
  public class ConcreteProduct extends Product {     public ConcreteProduct()     {         System.out.println("construct the ConcreteProduct object");     }     public String makeString(String str)     {         return "This is the product after processing:"+str;     } }
  //Product.java public abstract class Product {     public abstract String makeString(String str); }
  //ConcreteCreatorA.java
  public class ConcreteCreatorA extends Creator {     /**      * You can write some other class like this to override      * the same methods do diffrent thing;      */     public ConcreteCreatorA()     {         duct=new ConcreteProduct();         System.out.println("instanced a product");
      }     public String processProduct()     {         System.out.println("product A:");         return duct.makeString("Make @#a product");
      }     public String processProductSpecial()     {         System.out.println("special product B:");         //add another method here         return duct.makeString("Make Special @#B product");     } } |   
 
  //TestFactoryMethod.java public class TestFactoryMethod {     public TestFactoryMethod()     {     }     public static void main(String[] arg)     {         ConcreteCreatorA cc=new ConcreteCreatorA();         System.out.println(cc.Operation());         System.out.println(cc.processProductSpecial());     } } 
 
  | 
   
  
     | 
   
  
     相关文章:相关软件:  | 
   
   
      |