java 디자인 모드 단일 모드 (순수한 흰색 시리즈)

6617 단어

단례 모델의 개념과 작용


단례: 하나의 실례 (대상) 는 프로그램이 실행되는 동안, 어떤 클래스는 최대 한 개의 대상만 만들 수 있으며, 이 클래스를 디자인해야 한다는 것을 가리킨다.

단일 모드아사자식

public class Student {
    //1. 
    private Student(){
    }
    //2. 、 , 
    private static Student stu = new Student();

    //3. 、 、 
    public static Student getInstance() {
        return stu;
    }
}
public class Test01 {
    public static void main(String[] args) {
        Student stu1 = Student.getInstance();
        Student stu2 = Student.getInstance();
        System.out.println(stu1 == stu2);
    }
}

단일 모드게으름뱅이

public class Student {
    //1. 
    private Student() {

    }
    //2. 
    private static Student stu;

    //3. , 
    public static synchronized Student getInstance() {
        if (stu == null) {
            stu = new Student();
        }
        return stu;
    }
}
public class Test01 {
    public static void main(String[] args) {
        Student stu1 = Student.getInstance();
        Student stu2 = Student.getInstance();
        System.out.println(stu1 == stu2);
    }
}

단일 모드 구현 소결

  • 구조 방법의 사유화
  • 사유, 정적 이 유형의 구성원 속성 굶주림식을 정의한다. 먼저 대상을 창설한다.게으름뱅이식: 대상을 만들지 않음;
  • 공유, 정적, 라인이 안전한 (동기화) 방법을 정의하고 구성원 속성을 되돌려줍니다. 굶주린 식: 이미 창설된 대상이기 때문에 구성원 속성을 직접 되돌려줍니다.게으름뱅이: 구성원 속성이null인지 아닌지를 판단하고 창설 대상인 다음에 구성원 속성으로 돌아갑니다.
  • 좋은 웹페이지 즐겨찾기