자바 디자인 모델 지식 - 필기 6
2482 단어 자바 면접 문제 개인 노트
총 23 가지 디자인 모델 이 있 습 니 다.
전체적으로 보면 디자인 모델 은 세 가지 로 나 뉜 다.
창설 형 모델 은 모두 다섯 가지 가 있 는데 그것 이 바로 공장 방법 모델, 추상 공장 모델, 단일 모델, 건설 자 모델, 원형 모델 이다.
구조 형 모델 은 모두 7 가지 가 있다. 어댑터 모델, 장식 기 모델, 대리 모델, 외관 모델, 브리지 모델, 조합 모델, 향 원 모델 이다.
행위 형 모델, 모두 11 가지: 전략 모델, 템 플 릿 방법 모델, 관찰자 모델, 교체 서브 모델, 책임 체인 모델, 명령 모델, 비망록 모델, 상태 모델, 방문 자 모델, 중개 자 모델, 해석 기 모델
기업 면접 을 볼 때 면접 관 들 은 단 례 시험 을 매우 좋아 하고 필기 단 례 시험 을 매우 좋아한다.
예 가 무엇 입 니까?일례 로 그런 서법 이 있 습 니까?
단일 사례 분류: 게으름뱅이 식 단일 사례, 굶 주 린 식 단일 사례 모델 은 다음 과 같은 특징 이 있다. 1. 단일 사례 류 는 하나의 사례 만 있 을 수 있다.2. 단일 사례 류 는 자신 이 자신의 유일한 인 스 턴 스 를 만들어 야 합 니 다.3. 단일 클래스 는 모든 다른 대상 에 게 이 인 스 턴 스 를 제공 해 야 합 니 다.
1. 게으름뱅이 일렬
1. // .
2. public class Singleton {
3. private Singleton() {}
4. private static Singleton single=null;
5. //
6. public static Singleton getInstance () {
7. if (single == null) {
8. single = new Singleton();
9. }
10. return single;
11. }
12. }
2. 굶 주 린 한열
13. // . ,
14. public class Singleton1 {
15. private Singleton1() {}
16. private static final Singleton1 single = new Singleton1();
17. //
18. public static Singleton1 getInstance() {
19. return single;
20. }
21. }
게으름뱅이 식 과 굶 주 린 한식 의 차이?
이름 으로 는 굶 주 린 사람과 게으름뱅이,
굶 주 린 사람 은 클래스 가 불 러 오 면 하나의 예 를 초기 화하 여 getInstance 를 보장 할 때 하나의 예 는 이미 존재 합 니 다.
게 으 른 사람 은 게 을 러 서 getInstance 를 호출 할 때 만 이 예 를 초기 화 합 니 다.
그리고 다음 두 가지 방법 으로 다음 과 같은 두 가 지 를 구분한다.
1. 라인 안전:
굶 주 린 사람 은 천성적으로 스 레 드 가 안전 하기 때문에 다 중 스 레 드 에 직접 사용 할 수 있 고 문제 가 발생 하지 않 습 니 다.
게으름뱅이 식 자 체 는 비 스 레 드 안전 이다. 스 레 드 안전 을 실현 하기 위해 몇 가지 방법 이 있 는데 그것 이 바로 위의 1, 2, 3 이다. 이 세 가지 실현 은 자원 로드 와 성능 에 있어 약간의 차이 가 있다.
2. 자원 로드 와 성능:
굶 주 린 사람 은 클래스 를 만 드 는 동시에 정적 대상 을 예화 합 니 다. 나중에 이 예 를 사용 하 든 안 하 든 일정한 메모 리 를 차지 하지만 이에 따라 첫 번 째 호출 시 속도 가 빨 라 집 니 다. 자원 이 초기 화 되 었 기 때 문 입 니 다.
한편, 게으름뱅이 식 은 말 그대로 로드 가 지연 되 고 이 사례 를 처음 사용 할 때 만 대상 이 나 오고 첫 번 째 호출 시 초기 화 를 해 야 하 며 해 야 할 일이 많 으 면 성능 이 지연 되 고 그 다음 에는 굶 주 린 사람 식 과 같다.