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

来源:互联网 发布:传统装修公司 知乎 编辑:程序博客网 时间:2024/05/20 23:59

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

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

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

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

    目   的:建立SSL连接

    类   图:

 

    源   码:

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 stubpropertyPath = 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;}}