|
|
使用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()); } }
|
|
相关文章:相关软件: |
|