일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- JavaScript
- 책너두
- JAVA개발자
- 성수핫플
- 헤드퍼스트디자인패턴
- 주니어개발자
- 성수맛집
- Linux
- 디자인패턴
- 오브젝트
- 성수볼거리
- 독서일지
- 성수직장인
- 상속
- 헤드퍼스트
- 직장인점심
- Java
- 책읽기
- DesignPattern
- 직장인
- 개발자
- 독서
- docker
- 코딩
- IntelliJ
- 성수
- 객체지향프로그래밍
- 클린코드
- 객체지향
- 깨끗한코드
- Today
- Total
목록책책책 책을 읽읍시다‼ ver.개발/[ 헤드퍼스트 디자인패턴 ] (48)
닭발개발
8일차 헤드퍼스트 디자인패턴 [화요일] 114-125pg 요약 CHAPTER 03. 객체 꾸미기 (feat. 데코레이터 패턴) 상속을 남용하는 사례 → 객체 작성 : 실행 중에 클래스를 데코레이션하는 방법 배우기 [스타바즈] 처음 스타바즈의 코드는 클래스 관련 문제에서 달라지는 부분과, 달라지지 않는 부분 분리하기 구현보다는 인터페이스에 맞춰서 프로그래밍한다. 의 두 가지를 지키고 있지 않다. 상속을 사용한다고 해서 무조건 유연하거나 관리하기 쉬운 디자인이 아니다. 구성과 위임으로 실행 중에 행동을 ‘상속’하는 방법이 있다. [코드 관리에 구성이 미치는 영향] 객체를 동적으로 구성하면 기존 코드를 고치는 대신 새로운 코드를 만들어서 기능을 추가 할 수 있다. [디자인 원칙 : OCP: Open-Close..
7일차 헤드퍼스트 디자인패턴 [월요일] 102-113pg 요약 CHAPTER 02. 객체들에게 연락돌리기 (feat. 옵저버 패턴) [라이브러리 속 옵저버 패턴 : 스윙라이브러리] swing toolkit의 기본 구성 요소 중 JButton 클래스 : AbstractButton을 찾아보면 리스너를 추가/제거하는 메소드가 많음. [할까말까 애플리케이션] package com.book.doOrNot; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class SwingObserverExample { JFrame frame; public static void main(Strin..
6일차 헤드퍼스트 디자인패턴 [토요일] 87-101pg 요약 CHAPTER 02. 객체들에게 연락돌리기 (feat. 옵저버 패턴) 옵저버 패턴 : 뭔가 중요한 일이 일어났을 때 객체에게 새 소식을 알려 줄 수 있는 패턴! 옵저버 패턴 : 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의합니다. 옵저버 패턴의 구조(옵저버 패턴의 클래스 다이어그램) Subject 인터페이스 ConcreteSubject(구상 클래스) Observer 인터페이스 ConcreteObserver 객체들의 느슨한 결합(Loose Coupling) : 객체들이 상호작용할 수 있지만, 서로를 잘 모르는 관계. → 유연성이 좋아짐. 옵저버 패턴은 느슨한 결합의 ..
5일차 헤드퍼스트 디자인패턴 [금요일] 70-86pg 요약 CHAPTER 02. 객체들에게 연락돌리기 (feat. 옵저버 패턴) 옵저버 패턴 : 뭔가 중요한 일이 일어났을 때 객체에게 새 소식을 알려 줄 수 있는 패턴! Story… 차세대 인터넷 기반 기상 스테이션 구축 프로젝트 WeatherData 객체를 바탕으로 기상 스테이션을 만들 예정 WeatherData 객체는 현재 기상조건을 추적한다. 표시할 3개의 항목 : 현재 조건, 기상 통계, 간단한 기상 예보 → 위 항목 모두 WeatheData에서 최신 측정치를 수집할 때마다 실시간으로 갱신 됨. 타 개발자가 새로운 날씨 디스플레이를 쉽게 추가할 수 있도록 해야함. [ 기상 모니터 애플리케이션 ] 기상 스테이션 : 실제 기상정보를 수집하는 물리 장비..
요약 동적으로 행동 지정하기 : 움직이는 오리 만들기 실행 중에 오리의 행동을 바꾸고 싶으면 원하는 행동에 해당하는 Duck의 세터 메소드를 호출합니다. 캡슐화된 행동 살펴보기 클래스 다이어그램에 있는 각 화살표와 클래스들이 어떤 관계인지, 직접 연필로 써보는 게 중요하다. "A에는 B가 있다" 각 오리에는 FlyBehavior와 QuackBehavior가 있으며, 각각 나는 행동, 꽦꽥 행동을 위임받는다. -> 이렇게 두 클래스를 합치는 것 : '구성(composition)을 이용한다.' 라고 한다. 디자인 원칙3: 상속보다는 구성을 활용한다. -> 유연성을 향상시킬 수 있음. 첫 번째 디자인 패턴 : 전략패턴 : 알고리즘군을 정의하고 캡술화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해준다. 클라이..
3일차 [수요일] 헤드퍼스트 디자인패턴 요약 CHAPTER 01. 디자인 패턴의 세계로 떠나기. (디자인 패턴 소개와 전략 패턴) 디자인 원칙1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분과 분리한다.\ 디자인 원칙2. 구현보다는 인터페이스에 맞춰서 프로그래밍한다. 개발자 Joe의 SimUDuck 사례에 적용하기 디자인 원칙1 : Duck 클래스와는 별개로 나는 것과 꽥꽥거리는 것을 분리한다. 디자인 원칙2 : 각 행동은 인터페이스(FlyBehavior, QuackBehavior)로 표현하고 이것을 사용해 행동을 구현한다. 🎈 나는 행동과 꽥꽥 거리는 행동을 Duck 클래스에서 정의한 메소드를 써서 구현하지 않고 타 클래스에 위임한다. 발췌 💡 달라지는 부분을 찾아서 나머지 코드에 영..
2일차 [화요일] 헤드퍼스트 디자인패턴 요약 책 읽는 방법과 책의 구성 연습문제를 신중하고 고민해서 풀어본다. 기억되기 쉽도록 그림이 많다. 사적인 대화체를 사용하여 접근하기 쉽게함. 부분이 핵심이다. 직접 디자인해본다. 기존 프로젝트를 리팩토링 해보거나, 연습문제를 활용하거나. 참고서X, 학습서O 처음부터 순서대로 읽어야 한다. 책을 읽기 전 알아두어야 할 것 오리지널 GoF 패턴 중 몇 가지 핵심 패턴만 다룬다. 패턴을 언제, 어떻게 사용해야 할지 확실히 알 수 있다. 이 책에서 말하는 ‘구성’의 뜻 : composition, 일반적인 객체지향 언어에서 쓰이는 의미. CHAPTER 01. 디자인 패턴의 세계로 떠나기. (디자인 패턴 소개와 전략 패턴) 타 개발자의 경험을 통한 디자인 패턴의 활용분야 ..
개인 깃허브에 독서일지와 코드를 함께 관리하고 있습니다. https://github.com/dlcksdud/designPattern GitHub - dlcksdud/designPattern Contribute to dlcksdud/designPattern development by creating an account on GitHub. github.com 전반적인 내용 디자인 패턴을 잘 활용하면 단지 코드만 ‘재사용’하는 것이 아니라, 더 큰 그림을 그리기 위한 디자인도 재사용할 수 있다고 한다. 유지보수가 잘되는 코드를 만드려면 디자인 패턴을 잘 활용해야 한다. 이 책은 독자를 ‘학습자’라고 생각하여 어떻게 독자가 쉽게 정보를 습득해야할지 알고 여러 학습유형을 보여주고 있다. 그림과 대화체를 사용하고 ..