일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- Pattern
- lambda calculus
- 파이썬
- 함수형 프로그래밍
- exception
- JDBC
- 큐
- solid
- 디자인패턴
- Eclipse
- Collections
- Python
- Network
- Rails
- functional programming
- 로버트마틴
- Spring
- javscript
- 프로그래머스
- tcp
- 자바
- 스택
- 겨울카카오인턴
- DesignPattern
- JavaScript
- design-pattern
- 람다 칼큘러스
- 백준
- Collection
- Today
- Total
목록디자인패턴/Creational Design Pattern (5)
개발자 노트
참고 자료 https://refactoring.guru/design-patterns/singleton https://en.wikipedia.org/wiki/Singleton_pattern https://jeong-pro.tistory.com/86 싱글톤 패턴이란? 생성 디자인 패턴 클래스가 하나의 object를 가지도록 하고, 이 인스턴스에 전역 접근을 허용하는 디자인 이 패턴은 언제 쓰일까? DB접근처럼 하나의 인스턴스만 가지도록 하는 경우 (이 부분을 잘 살펴보자) dataSource 하나의 인스턴스에 전역 접근 허용 관련있는 instance들을 묶어놓은 클래스로 제공하기 위함. 구조 client가 클래스를 통해 객체를 생성하지 못하도록 생성자를 private로 선언합니다. 객체를 받을 수 있는 필드..
출처 https://refactoring.guru/design-patterns/prototype 프로토타입 패턴이란? 생성 디자인 패턴 생성할 object의 클래스에 의존하지 않고 이미 생성된 object를 통해 동일한 object를 생성할 수 있는 디자인 패턴입니다. 프로토타입? 앞으로 설명드릴 프로토타입이란 용어와 일상생활에서 쓰이는 용어와 차이점이 있습니다. 제가 이 패턴을 처음 접했을 때 가장 헷갈려서 개념을 받아들이기 어려웠기 때문에 차이점을 먼저 짚어보겠습니다. 일상생활에서 쓰이는 프로토타입 용어 이 프로토타입은 대량생산 전 성능을 검증하고 개선하기 위해 핵심기능만 넣어서 제작한 모델을 프로토타입이라 부릅니다. 또는 게임의 본격적인 개발에 앞서 재미요소나 구현 가능성을 검증하기 위해 제작하는 ..
출처 https://refactoring.guru/design-patterns/builder (builder패턴 설명) https://projectlombok.org/features/Builder (lombok) Builder란? 생성 디자인 패턴 복잡한 objects를 하나씩 하나씩(step-by-step)생성할 수 있게 해주는 디자인 패턴입니다. 동일한 생성 코드로 다른 타입의 object를 만들 수 있도록 합니다. 상황 많은 field와 nested objects를 하나하나 생성해야하는 복잡한 object를 만들어야 합니다. 권장하지 않는 방법1 - class 상속을 통해 구현 방법 설명 기본 클래스 생성 이 방법은 House라는 기본이되는 클래스를 만든다고 합시다. 이 클래스는 지붕 및 창문 외벽..
출처 https://refactoring.guru/design-patterns/abstract-factory Abstract Factory란? 생성 디자인 패턴입니다. 구체적인 클래스없이, 연관된 objects의 집합(family)를 생성하도록 하는 패턴입니다. 본래 영어 Abstract Factory is a creational design pattern that 1)lets you produce 2)families of related objects 3)without specifying their concrete classes. 1) let you produce : 즉, client가 의존하여 products를 생성합니다. 2) families: products들이 매우 끈끈한 관계를 가지고 있습니다...
출처 https://refactoring.guru/design-patterns/factory-method Factory Method란? 생성 디자인 패턴 (creational design pattern) super class에서 object를 생성할 수 있는 interface를 제공하고, super class를 구현하는 파생 클래스에서는 object의 타입을 바꿀 수 있도록 하는 패턴입니다. 상황 트럭을 이용한 기존 물류 앱이 있습니다. 이 사업이 번창하여 앱에 배(Ship)을 추가하여 해상 물류 서비스도 지원하려고 합니다. 하지만 Truck이 전체 시스템과 강하게 Coupling되어 있어 Ship을 추가하기 어렵게 됩니다. 해결책 문제의 포인트는 시스템이 truck이라는 구체적인 클래스에 의존하고 있습..