디자인 패턴: 두 판 사이의 차이

위키백과, 우리 모두의 백과사전.
내용 삭제됨 내용 추가됨
WikitanvirBot (토론 | 기여)
잔글 로봇이 바꿈: ta:வடிவமைப்புப் பாங்கு; 예쁘게 바꿈
22번째 줄: 22번째 줄:


{{토막글|건축}}
{{토막글|건축}}

[[분류:디자인 패턴| ]]
[[분류:디자인 패턴| ]]
[[분류:정보기술 용어]]
[[분류:정보기술 용어]]
58번째 줄: 59번째 줄:
[[sr:Пројектни узорци]]
[[sr:Пројектни узорци]]
[[sv:Designmönster]]
[[sv:Designmönster]]
[[ta:வடிவமைப்புப் பாங்கு]]
[[ta:வடிவமைப்புக் கோலம்]]
[[th:ดีไซน์แพตเทิร์น]]
[[th:ดีไซน์แพตเทิร์น]]
[[tr:Tasarım örüntüleri]]
[[tr:Tasarım örüntüleri]]

2011년 5월 10일 (화) 12:27 판

디자인 패턴(Design pattern)은 건축학컴퓨터 과학에서 사용되는 용어로, 특정 영역의 설계의 문제를 해결하기 위해 고안된 형식적인 방법이다. 이 방식은 건축가 크리스토퍼 알렉산더가 건축학 영역에서 고안된 것을 그 시초로 하며, 이후 컴퓨터 과학 등 여러 다른 분야에서도 받아들여지게 되었다.

여러 구체적인 영역에서 관련을 맺으며 사용될 수 있는 패턴들을 구조적으로 정리한 것을 패턴 언어라 부른다.

건축학에서의 디자인 패턴

건축학에서의 디자인 패턴은, 건축가 크리스토퍼 알렉산더가 제안한, 건축의 여러 기법을 틀로 고안한 아이디어이다. 이 디자인 패턴을 이용하는 방식은, 건물 또는 도시의 설계를, 이전에 벌어졌던 몇가지의 단편적인 설계 결과들을 디자인 패턴으로 두고, 이를 묶어 조합하는 형태를 띄게 된다. 이들 패턴의 수집을, 각각의 패턴을 '패턴 언어'를 통해 기술하여 정리한 것이 크리스토퍼 알렉산더의 업적이라 할 수 있다.

패턴 언어를 통한 설계 방법은 건축 분야에서는 큰 반향을 불러일으키지는 못하나, 소프트웨어 과학 분야에서 여러 사람들이 이 아이디어에 감명을 받아 여러 연구를 진행하게 되며, 이 결과 가운데 소프트웨어 공학에서의 디자인 패턴이 제안되게 된다.

컴퓨터 과학에서의 디자인 패턴

소프트웨어 개발 방법에서 사용되는 디자인 패턴은, 프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 과거의 소프트웨어 개발 과정에서 발견된 설계의 노우하우를 축적하여 이름을 붙여, 이후에 재이용하기 좋은 형태로 특정의 규약을 묶어서 정리한 것이다. 알고리즘과 같이 프로그램 코드로 바로 변환될 수 있는 형태는 아니지만, 특정한 상황에서 구조적인 문제를 해결하는 방식을 설명해 준다.

이 용어를 소프트웨어 개발 영역에서 구체적으로 처음 제시한 곳은, GoF(Gang of Four)라 불리는 네명의 컴퓨터 과학 연구자들이 쓴 서적 'Design Patterns: Elements of Reusable Object-Oriented Software'(재이용 가능한 객체지향 소프트웨어의 요소 - 디자인 패턴)이다. GoF는 컴퓨터 소프트웨어 공학 분야의 연구자인 에릭 감마, 리차드 헬름, 랄프 존슨, 존 블리시디스의 네명을 지칭한다.

같이 보기