Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 독서
- 디자인패턴
- 깨끗한코드
- 성수볼거리
- 독서일지
- 헤드퍼스트디자인패턴
- 헤드퍼스트
- 개발자
- 클린코드
- 성수맛집
- 주니어개발자
- JavaScript
- 직장인
- DesignPattern
- 성수핫플
- Linux
- docker
- IntelliJ
- 오브젝트
- 성수
- JAVA개발자
- 직장인점심
- 객체지향프로그래밍
- 객체지향
- 성수직장인
- Java
- 상속
- 책읽기
- 책너두
- 코딩
Archives
- Today
- Total
닭발개발
[헤드퍼스트 디자인패턴] 26일차. 346-360pg 본문
728x90
26일차
헤드퍼스트 디자인패턴 [5주차_화요일]
346-360pg
요약
CHAPTER 08. 알고리즘 캡슐화하기 (feat. 템플릿 메소드 패턴)
- 서브클래스에서 언제든 필요할 때마다 알고리즘을 가져다가 쓸 수 있도록 캡슐화한다.
[ 객체지향 원칙 추가+ ]
- 먼저 연락하지 마세요. 저희가 연락드리겠습니다. : 슈퍼클래스에서 모든 것을 관리하고 필요한 서브 클래스를 불러서 써야 한다.
[ 객체지향 패턴 추가+ ]
- 템플릿 메소드 패턴 : 알고리즘의 골격을 정의한다. 템플릿 메소드를 사용하면 알고리즘의 일부 단계를 서브클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 알고리즘의 특정 단계를 서브 클래스에서 재정의 할 수도 있다.
CHAPTER 09. 컬렉션 잘 관리하기 (feat. 반복자 패턴과 컴포지트 패턴)
- 객체 저장방식을 보여 주지 않으면서도 클라이언트가 객체에 일일이 접근할 수 있게 해 주는 방법
[ 객체마을 식당과 팬케이크 하우스 합병 ]
- 루 : 메뉴에 새로운 항목을 추가하기 쉽게 하려고 ArrayList 사용
- 멜 : 메뉴에 들어가는 항목의 최대 개수를 딱 정해 놓고 배열을 쓴다. - MenuItem 그대로 사용 가능.
- 자바 종업은은 항상 두 메뉴를 사용하고, 각 항목에서 반복작업을 수행하려면 2개의 순환문을 써야한다.
- 해결 → 각 메뉴에 똑같은 인터페이스르 구현할 수 있다면?
[ 반복을 캡슐화 하기 ]
- 객체 컬렉션의 반복 작업 처리 방법을 캡슐화한 Iterator라는 객체 만들기
발췌
💡 템플릿 메소드는 클래스에서 알고리즘을 구현하면서 일부 단계를 서브클래스에게 떠넘길 수 있습니다.
728x90
반응형
'책책책 책을 읽읍시다‼ ver.개발 > [ 헤드퍼스트 디자인패턴 ]' 카테고리의 다른 글
[헤드퍼스트 디자인패턴] 28일차. 374-386pg (0) | 2023.06.01 |
---|---|
[헤드퍼스트 디자인패턴] 27일차. 361-373pg (0) | 2023.06.01 |
[헤드퍼스트 디자인패턴] 25일차. 335-345pg (1) | 2023.05.31 |
[헤드퍼스트 디자인패턴] 24일차. 317-334pg (2) | 2023.05.26 |
[헤드퍼스트 디자인패턴] 23일차. 305-316pg (0) | 2023.05.26 |