JAVA设计模式工厂模式之简单工厂

JAVA设计模式工厂模式之简单工厂

ID:40297200

大小:70.00 KB

页数:5页

时间:2019-07-30

JAVA设计模式工厂模式之简单工厂_第1页
JAVA设计模式工厂模式之简单工厂_第2页
JAVA设计模式工厂模式之简单工厂_第3页
JAVA设计模式工厂模式之简单工厂_第4页
JAVA设计模式工厂模式之简单工厂_第5页
资源描述:

《JAVA设计模式工厂模式之简单工厂》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、您所在的位置:开发>Java>设计模式>JAVA设计模式:工厂模式之简单工厂(1)JAVA设计模式:工厂模式之简单工厂(1)2011-11-1716:03songrysongry的博客我要评论(0)字号:T

2、T在java中,设计模式是多态和封装的重要表现形式,采用设计模式能够极大地提升可维护性和可扩展性,那么,同样工作在jvm上面的Clojure能否运用这些模式,或者说是否同样需要这些模式呢?AD:序在java中,设计模式是多态和封装的重要表现形式,采用设计模式能够极大地提升可维护性和可扩展性,那么,同样工作在jvm上面的Clojure能否运用这些模式,或者说是否

3、同样需要这些模式呢?注:本文基于jdk1.6和Clojure1.2简单工厂先看看简单工厂的java代码:首先定义产品的接口:1.public interface IProduct { 2. 3.    /** 4.     * 使用产品 5.     * @param msg 6.     */ 7.    public void use(String msg); 8.} 然后是实现了这个接口的两个具体产品Product1和Product2:1.public class Product1 implements IProduct { 2. 3.    @Overri

4、de 4.    public void use(String msg) { 5.        System.out.println("Product1 use:"+msg); 6.    } 7. 8.} 9. 1.public class Product2 implements IProduct { 2. 3.    @Override 4.    public void use(String msg) { 5.        System.out.println("Product2 use:"+msg); 6.    } 7. 8.} 最后是根据类型获取产

5、品的简单工厂:1.public class SimpleFactory { 2. 3.    /** 4.     * 根据产品类型生产产品 5.     * @param productType 6.     * @return 7.     */ 8.    public static IProduct factory(String productType){ 9.        if(productType.equals("1")) 10.            return new Product1(); 11.        else if(produc

6、tType.equals("2")) 12.            return new Product2(); 13.        return null; 14.    } 15.} 这样,我们在java中就构建了能够生产出两个不同产品的简单工厂了。接下来,我们调用一下:1./** 2. * 简单工厂调用 3. * @author RoySong - 2011-10-27 4. */ 5.public class SimpleFactoryTest { 6. 7.    /** 8.     * @param args 9.     */ 10.    pu

7、blic static void main(String[] args) { 11.        IProduct product1 = SimpleFactory.factory("1"); 12.        product1.use("something"); 13.         14.        IProduct product2 = SimpleFactory.factory("2"); 15.        product2.use("something"); 16.    } 1. 2.} 运行这个调用程序,我们能够得到预期的结果:1.P

8、roduct1 use:something 2.Product2 use:something 那么,在Clojure中应该如何实现呢?首先,让我们再回顾一下采用简单工厂的目的,这是为了将业务对象的产生和业务方法的执行进行解耦,使得业务方法执行时无须关注业务对象的类型。为了达到这个目的,我们提取了业务对象的接口IProduct(在实际的应用中也有可能是一个父类Product),它的里面包含了所有业务对象的共同操作use(在实际应用中可能不止这一种业务操作,当然也不叫use)的方法声明。然后,由SimplyFactory来创建IProduct的实例对象,然后调用use

9、业务方法。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。