文章詳情頁(yè)
使用UML編寫Java 設(shè)計(jì)模式例子 FactoryMethod Pattern
瀏覽:28日期:2024-06-30 14:20:02
內(nèi)容: 看了論壇上的文章,讀FactoryMethod Pattern UML圖,寫了個(gè)小例子程序。做為文章的補(bǔ)充!//Creator.javapublic 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.javapublic 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.javapublic abstract class Product{ public abstract String makeString(String str);}//ConcreteCreatorA.javapublic 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.javapublic 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, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標(biāo)簽:
Java
相關(guān)文章:
1. PHP安全之?dāng)?shù)據(jù)庫(kù)安全——設(shè)計(jì)、連接和加密2. JAVA教程 第七講 Swing用戶界面設(shè)計(jì)(一)3. ajax處理php返回json數(shù)據(jù)例子4. 基于PHP+MySQL的聊天室設(shè)計(jì)5. Android游戲開發(fā)設(shè)計(jì)步驟6. Spring Boot 2.5.0 重新設(shè)計(jì)的spring.sql.init 配置有啥用7. 更好的構(gòu)造開發(fā)模板 五種PHP設(shè)計(jì)模式8. 使用docker compose搭建consul集群環(huán)境的例子9. Python面向?qū)ο蟪绦蛟O(shè)計(jì)之私有變量,私有方法原理與用法分析10. JSP學(xué)生信息管理系統(tǒng)設(shè)計(jì)
排行榜

網(wǎng)公網(wǎng)安備