单体模式(Singleton)

单体模式很简单,不需要UML描述

/**

*

*/

package org.colimas.doxygen.qtools;

/**

* PatternBox: "Singleton" implementation.

* <ul>

* <li>defines an Instance operation that lets clients access its unique instance. Instance is a class operation</li>

* <li>may be responsible for creating its own unique instance.</li>

* </ul>

*

* @author tyrone

*/

public class Singleton {

/** unique instance */

private static Singleton sInstance = null;

/**

* Private constuctor

*/

private Singleton() {

super();

}

/**

* Get the unique instance of this class.

*/

public static synchronized Singleton getUniqueInstance() {

if (sInstance == null) {

sInstance = new Singleton();

}

return sInstance;

}

/**

* This is just a dummy method that can be called by the client. Replace

* this method by another one which you really need.

*/

public void doSomething() {

}

}

/**

*

*/

package org.colimas.doxygen.qtools;

/**

* PatternBox: "Client" implementation.

* <ul>

* <li>requests the Singleton to get its unique instance.</li>

* </ul>

*

* @author tyrone

*/

public class Client {

/**

* Default constructor

*/

public Client() {

super();

}

/**

* This is just an example how to use the Singleton pattern. This operation

* must be customized based on your application needs.

*/

public void useSingleton() {

// TODO: Customize this method based on your application needs.

Singleton singleton = Singleton.getUniqueInstance();

// call a Singleton method

singleton.doSomething();

}

}

实际应用,有很多程序都是单体模式的。那些不能同时打开2个以上主窗口的应用程序都是单体的(希望没有人对这句话钻牛角尖)。例如MSoutlook,无论你点击多少次outlook的图标,也只能有一个outlook主界面。

你可能感兴趣的:(Access,UML)