목록독서/헤드퍼스트 디자인패턴 (5)
티끌모아 태산
8장: 템플릿 메소드 패턴 - 알고리즘 캡슐화하기 커피와 홍차 만들기 커피 만들기 물을 끓인다 끓는 물에 커피를 우려낸다 커피를 컵에 따른다 설탕과 우유를 추가한다홍차 만들기 물을 끓인다 끓는 물에 찻잎을 우려낸다 홍차를 컵에 따른다 레몬을 추가한다. public class Coffee { void prepareRecipe() { // 알고리즘 작동 boilWater(); brewCoffeeGrinds(); pourInCup(); addSugarAndMilk(); } public void boilWater() { // 알고리즘 단계 1 System.out.print("물 끓이는 중"); } public void brewCoffeeGrinds() { // 알고리즘 단계 2 System.out.print("..
아래 링크 Repository 중 내가 작성한 부분만 가져온 글이다. https://github.com/yesman9692/Head-First-Design-Patterns/tree/main GitHub - yesman9692/Head-First-Design-Patterns: 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. Contribute to yesman9692/Head-First-Design-Patterns development by creating an account on GitHub. github.com 6장: 커맨드 패턴 - 호출 캡술화 하기 만능 IOT 리모컨 만들기 기존 인터페이스에 공통점이 딱히 없다 클래스는 새로 추가될 수 있다 커맨드..
아래 링크 Repository 중 내가 작성한 부분만 가져온 글이다. https://github.com/yesman9692/Head-First-Design-Patterns/tree/main 4장: 팩토리 패턴 new 연산자의 문제점 변화에 취약하다! Duck duck; if(picnic){ duck = new MallardDuck(); } else if(hunting){ duck = new DecoyDuck(); } else if(inBathTub){ duck = new RubberDuck(); } 위의 코드처럼 Duck이라는 인터페이스가 있지만 그럼에도 불구하고 MallardDuck, DecoyDuck, RubberDuck과 같은 인스턴스를 만들어야 한다. 코드를 변경하거나 확장시에는 기존 코드를 제거..

아래 링크 Repository 중 내가 작성한 부분만 가져온 글이다. https://github.com/yesman9692/Head-First-Design-Patterns/tree/main GitHub - yesman9692/Head-First-Design-Patterns: 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. Contribute to yesman9692/Head-First-Design-Patterns development by creating an account on GitHub. github.com
모든 아래 Github 저장소에 업데이트되며 여기에는 그냥 내가 정리한 내용만 복사해올 것이다. https://github.com/yesman9692/Head-First-Design-Patterns/tree/main GitHub - yesman9692/Head-First-Design-Patterns: 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. 헤드 퍼스트 디자인 패턴 스터디 repo 입니다. Contribute to yesman9692/Head-First-Design-Patterns development by creating an account on GitHub. github.com