|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
摘自久久学院 看了论坛上的文章,读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()); } } 返回类别: 教程 上一教程: 关于继续内部类??java编程思想示例程序分析 下一教程: j2ee常见错误(放到这里备查)--节选自j2ee tutorial 您可以阅读与"使用UML编写Java 设计模式例子 FactoryMethod Pattern"相关的教程: · 设计模式(Patterns in Java) · java设计模式---prototype(原型)模式 · java设计模式之创建模式--singleton · Java的建造设计模式 · 深入浅出基于Java的解释器设计模式 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |