Pattern - No. 07 디자인 모델 의 단일 예 모델
2. 배 부 른 한식 단일 사례 실현
package com.shma.singleton;
/**
*
* @author admin
*
*/
public class Singleton01 {
private static Singleton01 uniqueInstance = new Singleton01();
private Singleton01() {
}
public static Singleton01 getInstance() {
return uniqueInstance;
}
}
3. 굶 주 린 한식 단일 사례 실현
package com.shma.singleton;
/**
*
* @author admin
*
*/
public class Singleton02 {
private volatile static Singleton02 uniqueInstance = null;
private Singleton02() {
}
public static Singleton02 getInstance() {
if(uniqueInstance == null) {
synchronized (Singleton02.class) {
if(uniqueInstance == null) {
uniqueInstance = new Singleton02();
}
}
}
return uniqueInstance;
}
}
4. 초콜릿 보일러 류, 초콜릿 보 일 러 는 하나의 예 입 니 다.
package com.shma.singleton.chocolate;
/**
*
* @author admin
*
*/
public class ChocolateBoiler {
//
private boolean empty = false;
//
private boolean boiled = false;
private volatile static ChocolateBoiler uniqueInstance = null;
private ChocolateBoiler() {
}
public static ChocolateBoiler getInstance() {
if(uniqueInstance == null) {
synchronized (ChocolateBoiler.class) {
if(uniqueInstance == null) {
uniqueInstance = new ChocolateBoiler();
}
}
}
System.out.println("Returning instance of Chocolate Boiler");
return uniqueInstance;
}
/**
*
*
*/
public void fill() {
if (isEmpty()) {
empty = false;
boiled = false;
// fill the boiler with a milk/chocolate mixture
}
}
/**
*
*
*/
public void drain() {
if (!isEmpty() && isBoiled()) {
// drain the boiled milk and chocolate
empty = true;
}
}
/**
*
*
*/
public void boil() {
if (!isEmpty() && !isBoiled()) {
// bring the contents to a boil
boiled = true;
}
}
public boolean isEmpty() {
return empty;
}
public boolean isBoiled() {
return boiled;
}
}
package com.shma.singleton.chocolate;
public class ChocolateController {
public static void main(String[] args) {
ChocolateBoiler boiler = ChocolateBoiler.getInstance();
//
boiler.fill();
//
boiler.boil();
//
boiler.drain();
// will return the existing instance
ChocolateBoiler boiler2 = ChocolateBoiler.getInstance();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.