当前位置:编程学习 > JAVA >>

单例模式 - 程序实现(Java)

我们知道单例模式,其实就是返回一个被调用类的实例。

    在频繁的进行实例(Instance)创建过程,难免过多的进行new InstanceName();我们可以只通过调用一个方法解决。

    在进行设计模式的程序实现中xiaobin使用已编写的SSL程序做演示。

    ------------------------------------------------------------------------------------------tdtc tech-----------------------------------------------------

    目   的:建立SSL连接

    类   图:

 

    源   码:

[java]
public class ConnectionSSL { 
     
    private final int DEFAULT_PORT = 7000; 
    public final String algorithm = "SSL"; 
    private int port; 
    private String propertyPath; 
    private String keyPath; 
     
    private static ConnectionSSL conn = new ConnectionSSL(); 
     
    private ConnectionSSL() { 
        // TODO Auto-generated constructor stub  
        propertyPath = getPropertyPath(); 
         
        port = getPort(propertyPath); 
        if(port == 0) { 
            port = DEFAULT_PORT; 
        } 
        keyPath = getKeyPath(propertyPath); 
    } 
     
    public static ConnectionSSL getInstance() { 
        return conn; 
    } 
 
    private String getPropertyPath() { 
        String path = System.getProperty("user.dir")  
            + File.separator + "port.properties"; 
        return path; 
    } 
 
    private String getKeyPath(String filePath) { 
        Properties p = new Properties(); 
        try { 
            p.load(new FileInputStream(filePath)); 
        } catch (Exception e) { 
            // TODO: handle exception  
        } 
        String path = p.getProperty("key"); 
         
        return path; 
    } 
     
    private int getPort(String filePath) { 
        Properties p = new Properties(); 
        try { 
            p.load(new FileInputStream(filePath)); 
        } catch (Exception e) { 
            // TODO: handle exception  
        } 
         
        //p.clear();  
        String strPort = p.getProperty("port"); 
        int port = Integer.parseInt(strPort); 
         
        return port; 
    } 

public class ConnectionSSL {
 
 private final int DEFAULT_PORT = 7000;
 public final String algorithm = "SSL";
 private int port;
 private String propertyPath;
 private String keyPath;
 
 private static ConnectionSSL conn = new ConnectionSSL();
 
 private ConnectionSSL() {
  // TODO Auto-generated constructor stub
  propertyPath = getPropertyPath();
  
  port = getPort(propertyPath);
  if(port == 0) {
   port = DEFAULT_PORT;
  }
  keyPath = getKeyPath(propertyPath);
 }
 
 public static ConnectionSSL getInstance() {
  return conn;
 }

 private String getPropertyPath() {
  String path = System.getProperty("user.dir")
   + File.separator + "port.properties";
  return path;
 }

 private String getKeyPath(String filePath) {
  Properties p = new Properties();
  try {
   p.load(new FileInputStream(filePath));
  } catch (Exception e) {
   // TODO: handle exception
  }
  String path = p.getProperty("key");
  
  return path;
 }
 
 private int getPort(String filePath) {
  Properties p = new Properties();
  try {
   p.load(new FileInputStream(filePath));
  } catch (Exception e) {
   // TODO: handle exception
  }
  
  //p.clear();
  String strPort = p.getProperty("port");
  int port = Integer.parseInt(strPort);
  
  return port;
 }
}

 

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,