디자인 모델: 단일 모델 게으름뱅이 식 과 굶 주 린 사람의 차이
2011 단어 디자인 모드
게으름뱅이 식 과 굶 주 린 한식 도 있 는데 두 가지 방식 의 차 이 를 간단히 말씀 드 리 겠 습 니 다.
게으름뱅이 식:
(1): 클래스 의 구조 기 를 민영화 로 설명 하면 외부 에서 구조 함 수 를 통 해 이러한 대상 을 만 들 수 없습니다.그렇다면 어떻게 이런 종류의 유일한 대상 을 만 듭 니까?
(2): 이 클래스 에서 정적 인 개인 변 수 를 설명 합 니 다.초기 화 되 지 않 거나 null 로 초기 화 되 는 것 이 게으름뱅이 의 특징 입 니 다.
(3): 이 클래스 에 대외 공공 을 위 한 정적 인 방법 으로 이 변 수 를 방문 합 니 다. 이 변수 가 null 이면 만 듭 니 다.
public class Test
{
private static Test t = null; // Null
private Test() // private
{
}
public static Test getTest()
{
if(null = t){ // null,
t = new Test();
}
return t; //
}
}
굶 주 린 사람:
(1): 클래스 의 구조 기 를 민영화 로 설명 하면 외부 에서 구조 함 수 를 통 해 이러한 대상 을 만 들 수 없습니다.
(2): 이 클래스 에서 정적 인 개인 변 수 를 설명 합 니 다.그것 을 초기 화 하 는 것 이 굶 주 린 사람의 특징 이다.
(3): 이 클래스 에 대외 공공 을 위 한 정적 인 방법 으로 이 변 수 를 방문 합 니 다.
public class Test
{
private static Test t = new Test(); // ,
private Test() // private
{
}
public static Test getTest()
{
return t; //
}
}
이러한 생 성 방법 은 결코 가장 좋 은 것 이 아 닙 니 다. t 대상 이 필요 하지 않 아 도 Test 류 의 다른 방법 이 필요 할 때 t 대상 이 생 성 되 기 때 문 입 니 다. 이것 은 구성원 변수 가 클래스 로 딩 할 때 반드시 초기 화 되 기 때 문 입 니 다.
가장 좋 은 방법 은 이 멤버 의 성명 을 내부 클래스 에 넣 는 것 이다.
public class Test
{
private static class createTest
{
private static Test t = new Test();
}
private Test() // private
{
}
public static Test getTest()
{
return createTest.t; //
}
}
클래스 는 사용 할 때 만 불 러 오기 때문에 이 Test 대상 t 가 진정 으로 필요 할 때 getTest 방법 을 호출 해 야 내부 클래스 가 불 러 오고 t 가 생 성 됩 니 다.Test 류 의 다른 방법 을 사용 할 때 이 내부 클래스 는 불 러 오지 않 고 t 대상 도 만 들 지 않 습 니 다.이렇게 하면 쓸모없는 대상 의 발생 을 줄인다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.