안녕하세요 😀 유로띠 입니다 😉 헤드퍼스트 디자인패턴 TIL (Today I Learned) 3줄 요약 ✏️ 상태와 행동을 분리!! ✏️ 다음 현재 상태를 나타내는 객체에게 행동을 위임하므로 내부 상태가 바뀔 때 행동이 달라지게 된다는 사실을 쉽게 알 수 있다. ✏️ 전략 패턴과 쌍둥이 이지만 상태 패턴은 초기 상태 이후 Context 객체가 알아서 자기 상태를 변경한다. (전략 패턴은 1장이고 상태 패턴은 10장이다?! (전략 패턴 왈)) DAY 4 오늘 읽은 범위: 10장. 객체의 상태 바꾸기 - 상태 패턴 😉 책에서 기억하고 싶은 내용을 써보세요. 개요. 전략 패턴과 상태 패턴은 쌍둥이 입니다. 전략 패턴은 바꿔 쓸 수 있는 알고리즘을 내세워 큰 성공을 거둔 반면에, 상태 패턴은 내부 상태를 바꿈으..
안녕하세요 😀 유로띠 입니다 😉 헤드퍼스트 디자인 패턴 TIL (Today I Learned) 3줄 요약 ✏️ 간단한 팩토리 / 팩토리 메소드 / 추상 팩토리 메소드가 있다. ✏️ 의존성 뒤집기! - 추상화된 것에 의존하게 만들고 구상 클래스에 의존하지 않게 만든다. ✏️ 어떤 서브클래스를 선택했느냐에 따라 구현이 달라진다. DAY 3 오늘 읽은 범위: 4장. 객체지향 빵 굽기 - 팩토리 패턴( 간단한 팩토리, 팩토리 메서드 패턴) 😉 책에서 기억하고 싶은 내용을 써보세요. 최첨단 피자 코드 만들기 피자 종류를 고르고 그에 맞게 피자를 만드는 코드도 추가해야 합니다. Pizza orderPizza(String type) { Pizza pizza; if (type.equals("cheese")) { piz..
안녕하세요 😀 유로띠 입니다 😉 헤드퍼스트 디자인패턴 TIL (Today I Learned) 3줄 요약 ✏️ 상호작용하는 객체 사이에는 가능하면 느슨한 결합을 사용해야 한다. ✏️ 일대다의 관계를 정의 ✏️ 쉽게 확장할 수 있도록 push 방식보다는 pull 방식을 사용해 보자. CHAPTER 2 오늘 읽은 범위: 2장. 객체들에게 연락 돌리기 - 옵저버 패턴 😉 책에서 기억하고 싶은 내용을 써보세요. 기상 모니터링 애플리케이션 알아보기 기상 스테이션(실제 기상 정보를 수집하는 물리 장비) WeatherData 객체(기상 스테이션으로부터 오는 정보를 추적하는 객체) 사용자에게 현재 기상 조건을 보여 주는 디스플레이 장비 Weather 객체로 현재 조건, 기상 통계, 기상 예보, 이렇게 3가지 항목을 디스..
안녕하세요 😀 유로띠 입니다 😉 헤드퍼스트 디자인 패턴 TIL (Today I Learned) 3줄 요약 ✏️ 바뀌는 부분은 따로 뽑아서 캡슐화한다. 그러면 나중에 바뀌지 않는 부분에는 영향을 미치지 않고 그 부분만 고치거나 확장할 수 있다. ✏️ 상속보다는 구성을 활용한다. ✏️ 구현보다는 인터페이스에 맞춰서 프로그래밍한다. DAY 1 오늘 읽은 범위: 1장 디자인 패턴의 세계로 떠나기 - 디자인 패턴 소개와 전략 패턴 😉 책에서 기억하고 싶은 내용을 써보세요. 오리 시뮬레이션 게임, SimUduck 모든 오리가 꽥(quack) 소리를 내고 수영(swim)을 할 수 있기에 슈퍼클래스로 작성합니다. 오리마다 모양을 다르기 때문에 display는 오버라이드 합니다. fly() 기능을 추가해 봅니다. Rub..