일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인코딩
- 공부
- math
- 알고리즘
- 인강리뷰
- 오라클
- JPA
- javascript
- 독서
- 매핑
- Eclipse
- 프로그래머스
- 카카오톡1차
- 이펙티브자바
- Java
- 독서리뷰
- Design Pattern
- spring
- 우아한테크코스
- 디자인패턴
- 에러
- 후기
- study
- Head First Design Pattern
- 자바
- Oracle
- 람다
- 인프런
- 회고
- Singleton
- Today
- Total
목록PROGRAMMING/디자인패턴 (17)
Lee's Grow up
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/v1s4x/btqAo57cIus/26FyNJSWTtdKSyvYkzprpK/img.png)
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문],[Head First Design Pattern]의 내용을 참고해서 정리한 내용입니다. 잘못된 부분은 댓글로 피드백 주시면 감사하겠습니다. 1. Docorator 패턴이란? 객체에 추가적인 요건을 동적으로 첨가할때 사용하는 방식으로, 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공합니다. 2. Decorator 패턴의 등장인물 Component 기능을 추가할 때 핵심이 되는 역할로, 해당 기능의 인터페이스(API)만을 결정합니다. ConcreteCompoent Component를 실제로 구현하는 역할입니다. Decorator(장식자) Component와 동일한 인터페이스(API)를 가지며, 구체적인 장식자의 Componen..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BP41b/btqAkSH9IJV/Fi3JmKuYWXVydViZZgVLdk/img.png)
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문],[Head First Design Pattern] 의 내용을 정리해서 작성한 내용입니다. 잘못된 부분이 있으면 댓글로 알려주시면 감사하겠습니다. 1. Observer 패턴이란? 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 변화를 알려주고 자동으로 내용이 갱신되는 방식으로 일대다의 의존성을 정의합니다. 즉 상태 변화에 따른 처리를 기술할 때 사용합니다. 또한 느슨한 결합을 통해 의존성을 제거해줍니다. 2. Observer 패턴의 등장 인물 Subject(관찰 대상자)의 역할 '관찰되는 대상'을 관리하는 요소 ConcreteSubject(구체적인 관찰 대상자)의 역할 구체적으로 Subject를 표현하는 역할이며, 통보하는 클..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cTNS2Q/btqAm4Bf614/FtmrkjrysiS3WaFpIlFA4K/img.png)
관련 내용은[자바 언어로 배우는 디자인 패턴 입문], [Head First Design Pattern] 의 내용을 참고해서 정리한 내용입니다. 잘못된 부분은 댓글로 지적해주시면 감사하겠습니다. 1. Strategy 패턴이란? 알고리즘군을 정의하고 각각을 켑슐화하여 교환해서 사용할 수 있도록 만드는 방식, Strategy 패턴을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 즉 알고리즘의 인터페이스(API) 부분만 규정해서 변경해서 사용할 수 있도록 하는 것 2. Strategy 패턴의 등장 인물 Strategy(전략) 전략을 이용하기 위한 인터페이스(API)를 결정합니다. ConcreteStrategy(구체적인 전략) Strategy를 실제로 구현하는 역할 Contex..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bgSUMa/btqz257xbWW/DCd1Y1FefPrD1QbqPAehk1/img.gif)
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문] 이라는 책의 공부 내용을 개인적으로 정리한 내용입니다. 처음 배우는 부분이기 때문에 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 1. Prototype 패턴이란? Prototype는 '원형' 이라는 의미로, 원형이 되는 인스턴스로 새로운 인스턴스를 만드는 방식, 즉 객체에 의해 생성될 객체의 타입이 결정되는 생성 디자인 패턴입니다. 2. Prototype 패턴의 등장인물 이번 포스팅에서 사용될 요소들의 역할입니다. Prototype의 역할 인스턴스를 복사하여 새로운 인스턴스를 만들기 위한 메소드를 결정 ConcretePrototype 인스턴스를 복사해서 새로운 인스턴스를 만드는 메소드를 실제로 구현 Client 인스턴스 복사 메소드를 사용해서 새로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dEdT1R/btqzVnIajtE/u8uCraDQyETDeoKjCYPkF0/img.png)
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문] 이라는 책의 공부 내용을 개인적으로 정리한 내용입니다. 처음 배우는 부분이기 때문에 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 또한 관련 내용은 Effective Java의 내용도 포함되어 있습니다. 1. Singleton 패턴이란? 생성자가 여러 차례 호출되어도 실제 생성되는 객체는 최초의 1개이고, 그 이후의 생성자는 최초 생성자를 통해 생성한 객체를 리턴하는 방식입니다. 즉, 인스턴스가 1개 밖에 존재하지 않는 것을 보증하는 패턴입니다. 2. Singleton 패턴의 등장 인물 이번 포스팅에서 사용될 요소들의 역할입니다. Singleton의 역할 유일한 인스턴스를 얻기 위한 static메소드를 가지며. 이 메소드는 언제나 동일한 인스턴스를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wBAdt/btqzVaaWSOa/XbwCXDIqk4EpYWe6TKCCL0/img.png)
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문] 이라는 책의 공부 내용을 개인적으로 정리한 내용입니다. 처음 배우는 부분이기 때문에 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 1. Factory Method 패턴이란? 상위 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며, 하위 클래스가 어떤 객체를 생성할지 결정하도록 하는 패턴입니다. 또한 부모 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로도 사용합니다. Factory Method라는 패턴 이름 때문에 객체를 생성하는 메소드라고 오해할 수 있지만, Template Method의 생성 버전이라고 볼 수 있다. 상속을 사용하지만 상위 클래스를 전혀 확장하지 않기 때문에 extends의 관계를 잘못 이용한 것처럼 보여질 수 있다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/m4cbu/btqzVDQNX3j/Xdml7tBckzdMgaAV2Xx96K/img.png)
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문] 이라는 책의 공부 내용을 개인적으로 정리한 내용입니다. 처음 배우는 부분이기 때문에 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 1. Template Method 패턴이란? 동작 상의 알고리즘의 프로그램 뼈대를 정의하는 행위 디자인 패턴으로써, 알고리즘의 구조를 변경하지 않고 알고리즘의 특정 단계를 다시 정의할 수 있게 해주는 패턴방식. 즉, 공통되는 부분은 추상클래스로 정의된 상위 클래스에서 구현을하고, 재정의가 필요한 부분은 추상메소드로 선언합니다. 2. Template Method 패턴의 등장 인물 이번 포스팅에서 사용될 요소들의 역할입니다. AbstractClass ( 추상 클래스 ) 의 역할 템플릿 메소드를 구현하고, 그 템플릿 메소드에서..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bc0Jmf/btqzS0zH4Hf/G7TJtIJKk5TcY0DhSDqVZ0/img.gif)
관련 내용은 [자바 언어로 배우는 디자인 패턴 입문]이라는 책의 공부 내용을 개인적으로 정리한 내용입니다. 처음 배우는 부분이기 때문에 틀린 부분이 있으면 지적해주시면 감사하겠습니다. 1. Adapter 패턴이란? 말 그대로 'adapt(개조)' 시키는 것으로, 220V의 한국 기기를 외국의 110V에서 쓸 수 있게 하는것 처럼 한 클래스의 인터페이스를 사용하고자 하는 다른 인터페이스로 변환할 때 주로 사용하며, 이를 이용하면 인터페이스 호환성이 맞지 않아 같이 쓸 수 없는 클래스를 연관 관계로 연결해서 사용할 수 있게 해주는 패턴입니다. 이번 포스팅에서는 2가지의 어댑터 패턴을 소개합니다. class에 의한 Adapter 패턴 ( 상속을 사용한 Adapter 패턴 ) 인스턴스에 의한 Adapter 패턴..