일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Python
- 로버트마틴
- Network
- JDBC
- javscript
- solid
- 함수형 프로그래밍
- 큐
- Collection
- 파이썬
- 디자인패턴
- functional programming
- Collections
- tcp
- DesignPattern
- 백준
- Eclipse
- design-pattern
- exception
- Spring
- JavaScript
- Java
- 프로그래머스
- Pattern
- Rails
- 자바
- 겨울카카오인턴
- 스택
- 람다 칼큘러스
- lambda calculus
Archives
- Today
- Total
개발자 노트
디자인 패턴이란? 본문
What's a design pattern
정의
소프트웨어 디자인에서 흔히 발생하는 전형적인 해결방법입니다.
되풀이해서 발생하는 디자인 문제를 해결하기 위해 커스터마이즈할 수 있는 청사진과 같다!
특징
- 특정 코드가 아닌, 특정 문제를 풀기 위한 일반적인 개념
- 패턴의 세부사항을 따라하여 내 프로그램에 맞는 해결방법을 구현함
- 알고리즘이 아니다
- 알려진 문제에 대한 전형적인 해결책이라 보이기 때문에 알고리즘과 착각할 수 있음.
- 하지만 알고리즘은 명백한 행동인 반면에, pattern은 해결책에 대한 high-level 설명임
- 따라서 동일한 패턴이나, 서로 다른 프로그램에서 쓰여진 코드는 다를 수 있음
따라서, 알고리즘은 요리법같이 목표를 달성하기 위한 명확한 단계가 있는 반면, 디자인 패턴은 청사진같이 결과가 어떤지, 그 특징이 뭔지는 볼 수 있으나 정확한 구현의 순서는 자신에게 달려있다.
What does pattern consist of?
이는 앞으로 디자인 패턴에 대해 설명하기 위한 요소들!
Intent
이 요소는 간략히 문제와 해결방법은 서술
Motivation
패턴을 있도록 해주는(pattern make possible) 더 자세한 문제와 해결방법 서술
Structrue
클래스의 구조는 패턴의 각 부분을 보여주고 그들이 어떻게 연관되어 있는 지 보여줌
Code example
인기있는 언어중 하나로 패턴에 내재된 아이디어를 쉽게 설명하기 위해 코드로 설명
반응형
Comments