돼지 학 디자인 모델 의 단일 모델

1562 단어 디자인 모드
돼지 는 하나의 모델 을 이 시리즈 의 시작 편 으로 사용 합 니 다. 돼지 는 하나의 모델 이 모든 디자인 모델 시리즈 에서 가장 간단 하 다 고 생각 할 뿐만 아니 라 우 리 는 자신 도 모 르 는 사이 에 사용 할 때 가 많 습 니 다.  많은 장면 에서 우 리 는 특정한 변 수 를 원 하거나 특정한 유형 이 프로그램의 전체 과정 에서 하나 밖 에 없 기 를 바 랍 니 다. 서로 다른 곳 에서 사용 하 는 것 은 실제 적 으로 하나의 사례 입 니 다. 이 수 요 는 어떻게 실현 합 니까?  모든 입문서 에서 작 가 는 거의 하나의 키워드 인 static: 정적 인 것 을 말한다. 사실은 돼지 는 오랫동안 하나의 사례 모델 이 바로 이 static 키워드 에 final 키 워드 를 더 해 변 수 를 설명 하 는 것 이 라 고 생각 했다. 그래서 이 변 수 는 하나의 사례 이기 때문에 이것 을 하나의 사례 모델 이 라 고 부른다.  하지만...  단일 모드 는 이것 이 어야 합 니 다. 단일 모드 의 클래스 중 1, 이 클래스 는 하나의 인 스 턴 스 2 만 있 습 니 다. 이 클래스 는 자체 적 으로 이 인 스 턴 스 를 만 듭 니 다 (이 클래스 내부 에서 자신의 인 스 턴 스 대상 을 만 듭 니 다) 3. 이 인 스 턴 스 인터페이스 가 자바 에서 단일 예 를 만 드 는 클래스 를 전체 시스템 에 공개 합 니 다. 
class LazySingleton {

    //  

    private static LazySingleton instance = null;



    //      

    private LazySingleton(){}



    //  ,       ,            

    public static LazySingleton getInstance() {

        if( instance == null ) {

            instance = new LazySingleton();

        }

        return instance;

    }   

}

  사용 시 getInstance () 방법 을 직접 호출 합 니 다.
Singleton obj = Singleton.getInstance();

그 구 조 는 다음 과 같다.  돼지 는 단일 모델 의 몇 가지 관건 적 인 점 이 라 고 생각 합 니 다. 1. 그 구조 함 수 는 개인 적 인 것 이 어야 합 니 다. 이렇게 하면 프로그램의 다른 부분 에서 new 가 나 오지 않도록 보장 합 니 다. 2. 변 수 는 개인 적 인 것 입 니 다. 이 유 는 상기 3 과 같 습 니 다. 정태 적 으로 인 스 턴 스 를 얻 는 방법 이 있 습 니 다. 이 방법 에서 두 번 째 조 의 변 수 는 이미 예화 되 었 는 지 검증 합 니 다.아직 없 으 면 실례 화 된 변 수 를 되 돌려 주 고 실례 화 된 변 수 를 되 돌려 줍 니 다.  이렇게 해서 이른바 단일 모드 가 이 루어 졌 다. 헤헤, 쉽 지 않 을 까?  오늘 은 이렇게 많아

좋은 웹페이지 즐겨찾기