일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- 스택
- 자바
- Network
- Collections
- Pattern
- Python
- 함수형 프로그래밍
- tcp
- Rails
- JDBC
- exception
- functional programming
- 로버트마틴
- Java
- Eclipse
- Collection
- design-pattern
- 큐
- Spring
- DesignPattern
- lambda calculus
- 백준
- javscript
- 람다 칼큘러스
- 파이썬
- solid
- 디자인패턴
- 겨울카카오인턴
- JavaScript
- Today
- Total
목록디자인패턴 (25)
개발자 노트
출처 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이라는 구체적인 클래스에 의존하고 있습..
What's a design pattern 정의 소프트웨어 디자인에서 흔히 발생하는 전형적인 해결방법입니다. 되풀이해서 발생하는 디자인 문제를 해결하기 위해 커스터마이즈할 수 있는 청사진과 같다! 특징 특정 코드가 아닌, 특정 문제를 풀기 위한 일반적인 개념 패턴의 세부사항을 따라하여 내 프로그램에 맞는 해결방법을 구현함 알고리즘이 아니다 알려진 문제에 대한 전형적인 해결책이라 보이기 때문에 알고리즘과 착각할 수 있음. 하지만 알고리즘은 명백한 행동인 반면에, pattern은 해결책에 대한 high-level 설명임 따라서 동일한 패턴이나, 서로 다른 프로그램에서 쓰여진 코드는 다를 수 있음 따라서, 알고리즘은 요리법같이 목표를 달성하기 위한 명확한 단계가 있는 반면, 디자인 패턴은 청사진같이 결..