当前位置:七道奇文章资讯编程技术Java编程
日期:2011-01-26 02:54:00  来源:本站整理

<b>Factory情势的所长</b>[Java编程]

赞助商链接



  本文“<b>Factory情势的所长</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

         望文生义

  关于构造函数来说, 其名字必须和所属的类名一致. 这就常常失去了操纵函数名传送更多信息的机会. 比方说我们有一个成立XML Parser 类:

1 public class XMLConverter() inmplements Converter {
2
3   //成立一个缺省的 converter, Idoc Converter
4
5   public XMLConverter () {
6
7   …………………………….
8
9   }
10
11   //成立一个指定的 xml parser, idoc/bapi
12
13   public XMLConverter (String xmlConverterType) {
14
15   ………………….
16
17   }
18
19   }
20
21

  这个XMLConverter类有两个构造函数, 第一个构造函数成立一个缺省的XML converter.第二个构造函数可按照程序员的指定来成立一个 XML conveter.为了利用这个类,我们必须先读API文档,并且我们大概很难记着这两个构造函数各自的用处. 我们下面看看若何利用Factory办理这个问题:

1 public class XMLConverter () {
2
3   public Converter getIdocConverter() {
4
5   return new XML();
6
7   }
8
9   public static Converter getBapiConverter() {
10
11   return new XMLConverter ("bapi");
12
13   }
14
15   //成立一个缺省的 converter, Idoc Converter
16
17   private static Converter XMLConverter () {
18
19   …………………………….
20
21   }
22
23   //成立一个指定的 xml parser, idoc/bapi
24
25   private XMLConverter (String xmlParserType) {
26
27   ………………….
28
29   }
30
31   }
32
33

  这个新的XMLConverter类有着两个get函数, 它们返回两个XMLConverter型的Object. 这就是典型的Factory 情势. 这两个get函数的名字清楚地奉告了我们它们各自的用处,我们没必要查API文档就可以懂得它们的用处.请分外注意,两个构造函数都被标明为pivate.

  可掌握在一个JVM所能产生某范例Object的个数

  大家知道生成一个数据库的Connection object 是一个非常影响程序速度的操作,所以"衔接池'(connection pooling)是一个很常利用的本领: 程序保持一定数目的Connection object, 以便不断的重用.这样一来就大大削减了产生和销毁Connection object所需的时间.这就要求我们可以掌握最多可产生个Connection object. 下面我们看看如和用Factory 情势来办理这个问题:

1   import java.sql.*;
2
3   import java.util.*;
4
5   pulbic class ConnectionPool {
6
7   private static final int NUM_OF_CONNECTION = 50;
8
9   private static int counter = 0;
10
11   private Vector connectionPool = new Vector();
12
13   private ConnectionPool(){
14
15   }
16
17   public static Connection getConnection() throws Exception{
18
19   Connection connection = null;
20
21   if (connectionPool.size() < NUM_OF_CONNECTION) {
22
23   connection = Class.forName("my.sql.Driver").
24
25   getConnection("dbc:oracle:thin:@192.168.100.36:1521:ora9i");
26
27   connectionPool.add(connection);
28
29   } else {
30
31   if(conuter < NUM_OF_CONNECTION)
32
33   counter++;
34
35   else counter = 0;
36
37   connection = (Connection)connectionPool.elementAT(counter%
38
39   NUM_OF_CONNECTION );
40
41   }
42
43   return connection;
44
45   }
46
47   }
48

  上面这一小段程序展示了若何操纵Factory 情势保持50个Connection Object:当Connection的数目小于指定数时,我们就不断成立Connection,直到50个Connection Object 被成立. 在这之后,我们就不断的重用这些Object.

  以上笔者通过事例阐述了Factory 情势所具有的而构造函数所不所具有的两个长处,大家可在实践中加以应用.


  以上是“<b>Factory情势的所长</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .