[Java 디자인 모드] Java 단일 모드
단일 패턴은 어떤 종류가 하나의 실례만 확보할 뿐만 아니라, 자체적으로 실례화하여 전체 시스템에 이 실례를 제공한다.컴퓨터 시스템에서 스레드 탱크, 캐시, 로그 대상, 대화상자, 프린터, 그래픽 카드의 드라이버 대상은 항상 하나의 예로 설계된다.이 응용 프로그램들은 모두 많든 적든 자원 관리자의 기능을 가지고 있다.각 컴퓨터에는 여러 개의 프린터가 있을 수 있지만 두 개의 인쇄 작업이 동시에 프린터로 출력되지 않도록 Printer Spooler가 하나만 있을 수 있습니다.컴퓨터마다 약간의 통신 포트가 있을 수 있으므로 시스템은 이 통신 포트를 집중적으로 관리해야 한 통신 포트가 두 개의 요청에 동시에 호출되지 않도록 해야 한다.한 마디로 하면 단례 모델을 선택한 것은 불일치 상태를 피하고 다수결을 피하기 위해서다.
왜 나는 단례 모드를 사용해야 합니까?
예를 들어 프로필의 읽기 클래스는 서비스가 켜져 있는 자바 프로그램일 때 일정 시간마다 프로필의 파라미터를 사용해야 하기 때문에 프로그램이 매번 new 대상에게 계속 나올 수 없다.가장 좋은 방법은 프로그램을 시작할 때 new의 대상을 사용하고 그 다음에 이 대상 안의 속성 값을 계속 사용하면 된다는 것이다.이것은 단례 디자인 모델을 써야 한다.
example:
게으름뱅이
public class Singleton {
private static class LazyHolder {
private static final Singleton INSTANCE = new Singleton();
}
private Singleton (){}
public static final Singleton getInstance() {
return LazyHolder.INSTANCE;
}
}
굶주리다
//굶주린 사람식 단례류.클래스를 초기화할 때 이미 스스로 실례화되었다
public class Singleton1 {
private Singleton1() {}
private static final Singleton1 single = new Singleton1();
//
public static Singleton1 getInstance() {
return single;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.