일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 매핑
- 공부
- 이펙티브자바
- 오라클
- 에러
- 람다
- 우아한테크코스
- Oracle
- 회고
- 후기
- 알고리즘
- 인프런
- Java
- 카카오톡1차
- Head First Design Pattern
- 인코딩
- Singleton
- Design Pattern
- study
- 인강리뷰
- spring
- math
- 독서
- 독서리뷰
- 자바
- Eclipse
- javascript
- 디자인패턴
- 프로그래머스
- JPA
- Today
- Total
목록PROGRAMMING/디자인패턴 (17)
Lee's Grow up
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문],[Head First Design Pattern]의 내용을 참고해서 정리한 글입니다. 잘못된 부분은 댓글로 피드백 부탁드립니다. 1. Flyweight 패턴이란? 어떤 클래스의 인스턴스 한 개만 가지고 여러 개의 "가상 인스턴스"를 제공하고 싶을 때 사용하는 패턴입니다. 즉 인스턴스를 가능한 대로 공유시켜 쓸데없이 new연산자를 통한 메모리 낭비를 줄이는 방식입니다. 2. Flyweight 패턴의 등장인물 Flyweight(플라이급)의 역할 공유에 사용할 클래스들의 인터페이스(API)를 선언합니다. ConcreteFlyweight(구체적인 플라이급)의 역할 Flyweight의 내용을 정의합니다. 실제 공유될 객체입니다. FlyweightFactory(..
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문],[Head First Design Pattern]의 내용을 참고해서 정리한 글입니다. 잘못된 부분은 댓글로 피드백 부탁드립니다. 1. Chain of Responsibility 패턴이란? 요청이 주어질때, 사슬에 속해있는 각 객체는 자기가 받은 요청을 검사하여 직접 처리하거나 사슬에 들어있는 다른 객체에 넘기게 되는 방식. 즉 책임을 넘기는 구조입니다. 2. Chain of Responsibility 패턴의 등장인물 Handler(처리자)의 역할 요구를 처리하는 인터페이스(API)를 결정하는 역할을 합니다. ConcreteHandler(구체적인 처리자)의 역할 요구를 처리하는 구체적인 역할을 합니다. Clinet(요구자)의 역할 최초의 Concrete..
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문],[Head First Design Pattern],[Effective Java 3 개정판]의 내용을 참고해서 정리한 내용입니다. 잘못된 부분은 댓글로 피드백 부탁드립니다. 1. Builder 패턴이란? 객체의 생성 단계들을 캡슐화 하여 객체의 생성을 유연하게 해주는 패턴입니다. 즉 객체의 생성과정과 객체의 표현 방법을 분리합니다. 2. Builder 패턴의 등장인물 Builder(건축자)의 역할 인스턴스 생성을 위한 인터페이스(API)를 선언합니다. ConcreteBuilder(구체적인 건축자)의 역할 Builder 인터페이스를 구현하는 역할을 합니다. Director(감독자)의 역할 Builder 인터페이스(API)를 사용해 인스턴스를 사용합니다. ..
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문],[Head First Design Pattern]의 내용을 참고해서 정리한 내용입니다. 잘못된 부분은 댓글로 피드백 부탁드립니다. 1. Bridge 패턴이란? '기능 클래스 계층'과 '구현 클래스 계층'을 연결해주는 패턴입니다. 기능 클래스 계층이란 ? A라는 상위 클래스를 상속받는 B라는 하위 클래스에서 새로운 기능을 추가하는 계층을 말합니다. 구현 클래스 계층이란 ? A라는 인터페이스(API)를 구현한 B라는 객체가 존재할 때 구현 클래스 계층이라고 말합니다. 2. Bridge 패턴의 등장인물 Abstraction(추상화)의 역할 기능 클래스 계층의 상위 클래스입니다. 기본 기능만 정의되어 있습니다. RefinedAbstaction(개선된 추상화)..
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문],[Head First Design Pattern]의 내용을 참고해서 정리한 내용입니다. 잘못된 부분은 댓글로 피드백 부탁드립니다. 1. Proxy 패턴이란? 어떤 객체에 대한 접근을 제어하기 위한 용도로 대리인이나 대변인에 해당하는 객체를 제공하는 패턴 2. Proxy 패턴의 등장인물 Subject(주체)의 역할 Proxy 역할과 RealSubject 역할을 동일시하기 위한 인터페이스(API)를 결정합니다. 이 덕분에 클라이언트는 둘의 역할 차이를 몰라도 됩니다. Proxy(대리인)의 역할 Client의 요구를 할 수 있을 만큼 처리하고, 필요할 경우 RealSubject에게 처리를 맡깁니다. RealSubject(실제의 주체)의 역할 Proxy에서 ..
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문],[Head First Design Pattern]의 내용을 참고해서 정리한 내용입니다. 잘못된 부분은 댓글로 피드백 부탁드립니다. 1. State 패턴이란? 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 변경할 수 있도록 해주는 패턴 2. State 패턴의 등장인물 State(상태)의 역할 상태가 변할 때마다 다른 동작을 하는 인터페이스(API)를 결정합니다. ConcreteState(구체적인 상태)의 역할 State의 인터페이스(API)를 구체적으로 구현합니다. Context(상황)의 역할 현재의 상태를 나타내는 ConcreteState 역할을 가집니다. 또한 State 패턴의 이용자에게 필요한 인터페이스(API)를 결정합니다. State 패턴의 ..
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문],[Head First Design Pattern]의 내용을 참고해서 정리한 내용입니다. 잘못된 부분은 댓글로 피드백 부탁드립니다. 1. Composite 패턴이란? 개별 객체와 복합 객체를 똑같은 방법으로 취급하는 것, 해당 패턴을 사용하면 객체들을 트리 구조로 구성하여 부분과 전체를 나타내는 계층 구조로 만들 수 있습니다. 2. Composite 패턴의 등장인물 Leaf(나뭇잎)의 역할 '단일객체'을 표시하는 역할을 수행하며, 내부에는 다른 것을 넣을 수 없습니다. Composite(복합체)의 역할 '복합객체'를 나타내는 역할을 하며, Leaf나 Composite 역할을 넣을 수 있습니다. Component의 역할 Leaf, Composite의 역할..
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문],[Head First Design Pattern]의 내용을 참고해서 정리한 내용입니다. 잘못된 부분은 댓글로 피드백 부탁드립니다. 1. Facade 패턴이란? 어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스를 제공합니다. 즉, 서브시스템들을 사용하기 쉽게 통합해주는 역할을 합니다. 2. Facade 패턴의 등장인물 Facade(정면)의 역할 수만은 서브기능들에 대한 '창구'가 됩니다. 높은 레벨에서 단순한 인터페이스(API)를 외부에 제공합니다. Facade 패턴의 클래스 다이어그램 3. 예제 여러분들이 집에서 영화를 보려고 자동화 시스템을 만들기로 합니다. 이때 준비해야할 목록들을 생각해봅니다. 팝콘 또는 간식 준비 음료 ..