단일 모드 상세 설명: 게으름뱅이 식 과 굶 주 린 사람 식
2253 단어 JAVA대상 을 향 하 다
시 나 웨 이 보: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. 게으름뱅이 식: 프로그램 이 단일 모드 인 스 턴 스 를 처음 방문 할 때 만 듭 니 다.
어떻게 선택 합 니까? 만약 에 단일 모드 인 스 턴 스 가 시스템 에서 자주 사용 된다 면 굶 주 린 사람 식 은 좋 은 선택 입 니 다.
반면에 단일 모델 이 시스템 에서 거의 사용 되 지 않 거나 거의 사용 되 지 않 는 다 면 게으름뱅이 식 은 좋 은 선택 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법정적 공장 방법 정적 공장 방법의 장점 를 반환할 수 있습니다. 정적 공장 방법의 단점 류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음 여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.