
1. 추상 팩토리 패턴이란 무엇인가? 구체적으로 어떤 클래스의 인스턴스를 사용하는 감춘 상태로 서로 연관된 여러 객체를 생성하는 인터페이스를 제공한다. 구성요소 1) AbstractFactory - AbstractProduct 객체를 생성하는 인터페이스를 선언한다. 2) ConcreteFactory - AbstractProduct를 구현하는 구상 객체를 생성하기 위한 행위를 구현한다. 3) AbstractProduct - 한 종류의 Product 객체의 인터페이스를 선언한다. 4) ConcreteProduct - 담당한 ConcreteProduct에 의해 생성되는 객체를 정의함. - AbstractProduct 인터페이스를 구현함. 5) Client - AbstractFactory / AbstractPr..

1. 팩토리 메서드 패턴이란? 팩토리 메서드 패턴에서는 객체를 생성하기 위한 인터체이스를 정의한다. 어떤 클래스의 인스턴스를 만들지는 어느 서브클래스에서 결정하게 만든다. 팩토리 메서드 패턴을 이요하면 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡기는 것이다. -> 구체적으로 어떤 것 (객체의 생성)을 만들지는 서브 클래스가 정한다. 구성요소 1) Product - 팩토리 메서드가 생성할 객체의 인터페이스를 정의한다. 2) Creator - 팩토리 메서드를 정의하고, 이 팩토리 메서드는 Product 타입의 객체를 리턴한다. - 구현은 ConcreteCreator에서 하지만, 디폴트 팩토리 메서드를 구현할 수도 있다. 3) ConcreteProduct - Product 인터페이스를 구현한다. 4) C..

1. 데코레이터 패턴이란? 데코레이터 패턴에서는 객체에 추가적인 요건을 동적으로 첨가한다. 데코레이터는 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다. 구성요소 1. Component - 동적으로 기능을 추가 받을 객체의 인터페이스 2. Decorator - Component 객체에 대한 참조를 가진다. - Component의 인터페이스 타입을 구현한다. (같은 타입을 가진다) 3. ConcreteComponent - 기능이 추가 받을 수는 객체 4. ConcreteDecorator - Component에 기능을 더한다. 기본이 되는 디자인 원칙 OCP(Open-Closed Principle): 클래스는 확장에 대해서는 열려 있어야 하지만 코드 변경에 대해서는 닫혀 있어..

1. 옵저버 패턴이란? 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 1:N 의존성을 정의한다. 구성요소 1. Subject - Observer 목록을 가지고 있다. Observer의 수에는 제한이 없음. - Observer를 추가/제거 하는 인터페이스 제공 2. Observer - 업데이트 인터페이스를 제공. (이 업데이트 인터페이스는 해당되는 Subject에 변화가 있을 때 갱신하는 것을 의미) 3. ConcreteSubject - ConcreteObserver 객체들이 필요로 하는 정보를 가지고 있다. - 상태가 변하면 가지고 있는 ConcreteObserver들에게 공지함. 4. ConcreteObserver - ConcreteSubje..

1. 스트래티지 패턴이란? 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 구성요소 1. Context - ConcreteStrategy 참조 -> Setter - Strategy 객체와 소통 역할 2. Strategy - ConcreteStrategy의 generic 인터페이스 역할 - Context에서 사용할 함수 3. ConcreteStrategy - 세부 행동 구현 기본이 되는 디자인 원칙 1. Encapsulation: 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리한다. 2. Interface: 구현이 아닌 인터페이스에 맞춰서 프로그래밍한다. 3...
- Total
- Today
- Yesterday
- behavior parameterization
- spring cloud sleuth
- 2019 Kakao Blind
- Java #JIT #JVM
- KAKAO 2021
- 2020 KAKAO
- 스프링
- Java
- jvm
- PatternSyntaxException
- nginx 내부
- Kakao Blind
- 카카오코테
- WORA
- WORE
- 모던 자바 인 액션
- 카카오 코테
- 카카오 인턴
- 코테
- 신규 아이디 추천
- Java #GC #가비지콜렉터 #Garbage Collector
- decorator
- IOC
- Spring
- 카카오
- 디자인패턴
- 2021
- 프로그래밍 모델
- zipkin
- okhttp3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |