단일 모드 상세 설명: 게으름뱅이 식 과 굶 주 린 사람 식

유인원 은 시종 부족 하 다 2012 - 04 - 24
시 나 웨 이 보:http://weibo.com/ybchrist
잔말 말고 코드 부터 열거 하 세 요 (자바)
class Instance{}
//   
class LSingle{
	private static  Instance _instance = null; 
	private LSingle(){}
	
	public static Instance getInstance(){
		if(_instance==null){
			synchronized(LSingle.class){
				_instance = new Instance();
			}
		}
		return _instance;
	}
}
//   
class ESingle{
	private static Instance _instance = new Instance();
	
	private ESingle(){}
	
	public static Instance getInstance(){
		return _instance;
	}
}

단일 모드 용도: 단일 모드 는 공장 모드 의 특례 에 속 합 니 다. 다만 파 라 메 터 를 입력 하지 않 고 같은 대상 의 인용 을 되 돌려 줍 니 다.단일 모델 은 특정한 유형의 대상 이 시스템 에서 의 유일 성 을 확보 할 수 있다. 즉, 특정한 유형 은 시스템 에서 하나의 인 스 턴 스 만 있다.그것 의 용 도 는 매우 광범 위 하 다. 예 를 들 어 우 리 는 간단 한 게시판 을 개발 했다. 사용자 의 모든 댓 글 은 댓 글 정 보 를 데이터 베이스 에 기록 해 야 한다. 가장 직관 적 인 방법 은 기록 하지 않 고 데이터 베 이 스 를 구축 하 는 것 이다.이것 은 간단 한 방법 으로 병발 을 고려 하지 않 을 때 도 좋 은 선택 이다.그러나 실제로 한 사 이 트 는 동시 다발 적 이 고 대량의 동시 다발 적 인 조작 이 존재 할 수 있다.만약 에 우리 가 매번 기록 할 때마다 데이터 베 이 스 를 연결 하면 쉬 운 시스템 에 병목 이 생 길 수 있 고 시스템 의 정력 은 직접 조회 하 는 것 이 아니 라 링크 를 유지 하 는 데 많은 신경 을 쓸 것 이다.이것 은 분명히 바람 직 하지 않다.만약 우리 가 시스템 에서 처음부터 끝까지 유일한 데이터베이스 연결 대상 만 을 확보 할 수 있다 면, 분명히 우 리 는 많은 메모리 비용 과 cpu 이 용 률 을 절약 할 것 이다.이것 이 바로 단일 모델 의 용도 다.물론 단일 모드 는 이런 상황 에 만 사용 되 는 것 이 아니다.라 는 책 에서 단일 모델 의 적용 성에 대해 다음 과 같이 설명 한다. 1. 유형 은 하나의 사례 만 있 을 수 있 고 고객 이 모두 가 알 고 있 는 방문 점 에서 이 를 방문 할 수 있 을 때.2. 이 유일한 인 스 턴 스 는 하위 클래스 를 통 해 확장 할 수 있 고 고객 이 코드 를 변경 하지 않 아 도 확 장 된 인 스 턴 스 를 사용 할 수 있 을 때.인 스 턴 스 류 를 어떻게 디자인 해 야 하 는 지 에 대해 위 에서 서술 한 바 와 같이 우 리 는 하나의 모델 류 가 우리 가 하나의 인 스 턴 스 를 얻 는 유일한 방문 점 이 라 고 보장 합 니 다.그러면 프로그램 에서 인 스 턴 스 인 스 턴 스 인 스 턴 스 를 만 드 는 것 을 최대한 피해 야 합 니 다.구조 함 수 를 private 로 설명 함으로써 프로그래머 가 new 키 워드 를 통 해 구조 적 함수 생 성 대상 을 호출 하 는 것 을 방지 할 수 있 습 니 다.또한 인 스 턴 스 클래스 에서 getXXX () 방법 으로 구조 함 수 를 호출 하고 구체 적 인 인 인 스 턴 스 인 스 턴 스 인 스 턴 스 를 되 돌려 줍 니 다.구체 적 인 코드 는 다음 과 같다.
4. 567913. 다음은 단일 모델 의 게으름뱅이 식 과 굶 주 린 사람 식 에 대해 간단하게 소개 한다.
1. 굶 주 린 사람 식: 프로그램 이 시작 되 거나 단일 모드 클래스 가 불 러 올 때 단일 모드 인 스 턴 스 가 생 성 되 었 습 니 다.
2. 게으름뱅이 식: 프로그램 이 단일 모드 인 스 턴 스 를 처음 방문 할 때 만 듭 니 다.
어떻게 선택 합 니까? 만약 에 단일 모드 인 스 턴 스 가 시스템 에서 자주 사용 된다 면 굶 주 린 사람 식 은 좋 은 선택 입 니 다.
    반면에 단일 모델 이 시스템 에서 거의 사용 되 지 않 거나 거의 사용 되 지 않 는 다 면 게으름뱅이 식 은 좋 은 선택 이다.

좋은 웹페이지 즐겨찾기