일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 파이썬
- DesignPattern
- Collections
- 큐
- Collection
- Spring
- Rails
- JDBC
- solid
- Eclipse
- design-pattern
- 겨울카카오인턴
- Network
- 람다 칼큘러스
- 로버트마틴
- Python
- javscript
- Pattern
- tcp
- 스택
- 프로그래머스
- JavaScript
- exception
- 자바
- functional programming
- lambda calculus
- 백준
- Today
- Total
목록design-pattern (16)
개발자 노트
출처 https://refactoring.guru/design-patterns/adapter Adapter pattern이란? 구조 패턴 두 인터페이스가 불일치할 때, 두 인터페이스가 상호작용할(collaborate) 수 있도록 해주는 디자인 패턴입니다. 상황 목표 주식 시장 모니터링 어플을 만드려고 합니다. 방법 stock data를 XML 포맷으로 받습니다. Analytics Library를 통해 분석을 하고, 그래프를 보여주려고 합니다. 문제 그런데 문제가 있습니다. Analytics Library는 JSON 포맷으로 데이터를 받아 분석합니다. 즉, Stock데이터를 공급해주는 곳의 포맷과 데이터를 받아 분석하는 프로그램의 포맷이 불일치합니다. 서드 파티 라이브러리 코드를 변경하여 해결하려 한다면?..
참고 자료 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들이 매우 끈끈한 관계를 가지고 있습니다...
What's a design pattern 정의 소프트웨어 디자인에서 흔히 발생하는 전형적인 해결방법입니다. 되풀이해서 발생하는 디자인 문제를 해결하기 위해 커스터마이즈할 수 있는 청사진과 같다! 특징 특정 코드가 아닌, 특정 문제를 풀기 위한 일반적인 개념 패턴의 세부사항을 따라하여 내 프로그램에 맞는 해결방법을 구현함 알고리즘이 아니다 알려진 문제에 대한 전형적인 해결책이라 보이기 때문에 알고리즘과 착각할 수 있음. 하지만 알고리즘은 명백한 행동인 반면에, pattern은 해결책에 대한 high-level 설명임 따라서 동일한 패턴이나, 서로 다른 프로그램에서 쓰여진 코드는 다를 수 있음 따라서, 알고리즘은 요리법같이 목표를 달성하기 위한 명확한 단계가 있는 반면, 디자인 패턴은 청사진같이 결..