패턴 언어
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
패턴 언어는 건축, 소프트웨어 개발 등 다양한 분야에서 문제를 해결하기 위한 설계 방식을 문서화하고 공유하는 방법론이다. 각 패턴은 문제, 맥락, 해결책을 포함하며, 패턴 간의 연결을 통해 디자이너가 복잡한 문제를 해결하도록 돕는다. 크리스토퍼 알렉산더의 저서 'A Pattern Language'는 이 분야의 중요한 참고 자료로, 건축, 컴퓨터 과학, 교육 등 여러 분야에 영향을 미쳤다. 패턴 언어는 위키와 같은 도구를 사용하여 공유되고 개선될 수 있으며, 인간의 행동과 사회적 문제 해결에도 적용된다.
더 읽어볼만한 페이지
- 건축 이론 - 유니버설 디자인
유니버설 디자인은 모든 사람이 제품, 환경, 서비스를 편리하게 이용하도록 설계하는 개념이며, 7가지 원칙을 통해 공평한 사용을 추구하며 다양한 분야에 적용된다. - 건축 이론 - 장식품
장식품은 다양한 문화권 예술의 중요한 요소로서 시대에 따라 장식 수준이 변동했으며, 알로이스 리글의 연구 이후 다양한 문화유산을 참고한 장식 스타일이 등장했고, 판화 기술 발전은 장식 요소 접근성을 높였으며, 현대 건축에서는 장식 제거 시도와 함께 현대적 장식 어휘 고안 등 다양한 대응이 나타났고, 19세기에는 장식 관련 저서들이 출판되어 당시 장식 예술 경향을 파악하는 데 기여했다. - 사이버네틱스 - 진화 알고리즘
진화 알고리즘은 생물학적 진화 과정을 모방하여 적합도에 따라 개체를 선택하고 교차 및 돌연변이 연산을 반복하며 최적의 해를 찾아가는 계산 기술이다. - 사이버네틱스 - AI 안전
AI 안전은 인공지능 시스템의 부정적 결과를 줄이기 위한 연구 및 정책 분야로, 시스템 강건성 확보, 가치 정렬, 사이버 보안, 제도 개선 등을 포함하며 현재와 미래의 위험을 관리하기 위한 국제 협력과 거버넌스를 강조한다. - 건축 - 스티로폼
스티로폼은 발포 폴리스티렌으로 만들어진 가볍고 부력이 큰 합성수지로, 건축, 포장, 공예 등 다양한 분야에 사용되지만, 생분해되지 않는 폴리스티렌으로 인한 환경 오염 문제와 스티렌의 발암 가능성 논란으로 재활용률 향상과 친환경 대체재 개발이 요구된다. - 건축 - 장미창
장미창은 로마 건축의 오쿨루스에서 유래된 원형 창으로, 초기 기독교 건축에서 시작하여 고딕 시대에 이르러 크고 화려하게 발전했으며, 다양한 상징적 의미를 지닌다.
| 패턴 언어 | |
|---|---|
| 개요 | |
| 유형 | 디자인 방법론 |
| 분야 | 건축, 도시 계획, 소프트웨어 공학 등 |
| 목적 | 재사용 가능한 디자인 솔루션 제공 |
| 특징 | 문제 해결을 위한 패턴 모음, 상황에 따른 적용 |
| 기원 | 건축가 크리스토퍼 알렉산더 |
| 주요 개념 | |
| 패턴 | 특정 맥락에서 반복적으로 발생하는 문제에 대한 일반적인 해결책 |
| 언어 | 관련된 패턴들의 모음, 문제 해결을 위한 어휘와 문법 제공 |
| 질서 있는 전체 | 패턴들의 연결을 통해 일관성 있고 기능적인 시스템 구축 |
| 활용 분야 | |
| 건축 및 도시 계획 | 건물 설계, 도시 공간 구성, 지역 사회 개발 |
| 소프트웨어 공학 | 소프트웨어 디자인 패턴, 사용자 인터페이스 디자인 |
| 조직 개발 | 조직 구조 설계, 프로세스 개선 |
| 교육 | 교육 과정 설계, 학습 환경 구축 |
| 장점 | |
| 재사용성 | 검증된 솔루션의 반복적인 활용 |
| 효율성 | 문제 해결 시간 단축, 개발 비용 절감 |
| 품질 향상 | 일관성 있고 예측 가능한 결과 도출 |
| 의사소통 촉진 | 공통의 어휘와 프레임워크 제공 |
| 단점 | |
| 과도한 일반화 | 특정 상황에 맞지 않는 패턴 적용 가능성 |
| 패턴 선택의 어려움 | 다양한 패턴 중에서 적절한 것을 선택하는 데 어려움 |
| 지식 습득 필요 | 패턴 언어에 대한 이해 부족 시 효과적인 활용 어려움 |
| 관련 인물 | |
| 주요 개발자 | 크리스토퍼 알렉산더 |
| 참고 문헌 | |
| 주요 서적 | The Timeless Way of Building (1979) |
2. 패턴의 정의
설계자가 집, 컴퓨터 프로그램 또는 램프와 같은 무언가를 설계할 때, 문제를 해결하는 방법에 대해 많은 결정을 내려야 한다. 단일 문제는 전형적인 위치(구문)와 사용(문법)으로 문서화되며, 사전에서 볼 수 있는 예시처럼 실제에서 가장 일반적이고 인정받는 좋은 해결책을 사용한다. 이러한 각 항목은 단일 디자인 패턴이다. 각 패턴에는 사전 항목과 마찬가지로 이름, 설명 항목 및 몇 가지 상호 참조가 있다. 문서화된 패턴은 해당 해결책이 패턴의 맥락에서 왜 좋은지를 설명해야 한다.[2]
"문" 또는 "파트너십"과 같은 기본적인 또는 보편적인 ''패턴''은 건축, 의학, 소프트웨어 개발 또는 거버넌스 등 반복적인 맥락과 상황에서 힘의 전체적인 해결책으로 명시적으로 설명되는 경험에서 발견되거나 실제에서 구성 요소로 사용되는 다재다능한 설계 이상이다. 패턴은 인위적으로 만들어지거나 발견 및 연구될 수 있다. 예를 들어, 인간 환경을 특징짓는 자연적으로 발생하는 디자인 패턴이 있다.
모든 언어와 마찬가지로 패턴 언어에는 어휘, 구문 및 문법이 있다. 그러나 패턴 언어는 의사 소통 이외의 복잡한 활동에 적용된다. 디자인을 위한 패턴 언어에서 각 부분은 다음과 같이 나뉜다.
- 언어 설명 – ''어휘'' – 은 관심 분야의 문제에 대한 명명되고 설명된 해결책의 모음이다. 이를 ''디자인 패턴''이라고 한다. 예를 들어, 건축 언어는 정착지, 건물, 방, 창문, 래치 등과 같은 항목을 설명한다.
- 각 해결책에는 솔루션이 더 크고 포괄적이거나 더 추상적인 디자인에 적합한 위치를 보여주는 설명인 ''구문''이 포함된다. 이것은 자동으로 솔루션을 다른 필요한 솔루션의 웹에 연결한다. 예를 들어, 방에는 빛을 얻는 방법과 사람들이 드나드는 방법이 있다.
- 해결책에는 해결책이 문제를 해결하거나 이점을 생성하는 방법을 설명하는 ''문법''이 포함된다. 따라서 이점이 필요하지 않으면 해당 해결책은 사용되지 않는다. 아마도 디자인의 해당 부분은 돈이나 다른 자원을 절약하기 위해 비워둘 수 있다. 사람들이 방에 들어가기 위해 기다릴 필요가 없다면, 간단한 출입구가 대기실을 대체할 수 있다.
- 언어 설명에서 문법과 구문은 (종종 패턴 이름의 문자 색인과 함께) 다른 명명된 솔루션에 상호 참조되므로, 설계자는 한 솔루션에서 관련되고 필요한 솔루션으로 빠르게 생각하고 논리적인 방식으로 문서를 작성할 수 있다. 크리스토퍼 알렉산더의 저서 ''A Pattern Language''에서 패턴은 크기 순으로 감소하며 별도의 알파벳 색인이 있다.
- 언어 색인에서 관계의 웹은 디자인 프로세스를 거치는 많은 경로를 제공한다.
이를 통해 설계 작업이 단순화된다. 설계자는 이해하는 문제의 모든 부분에서 프로세스를 시작하여 알 수 없는 부분으로 작업할 수 있기 때문이다. 동시에, 패턴 언어가 많은 프로젝트에서 잘 작동했다면, 처음에는 디자인 문제를 완전히 이해하지 못하는 설계자라도 디자인 프로세스를 완료하고 그 결과가 유용할 것이라고 믿을 만한 이유가 있다. 예를 들어, 스키어는 실내로 들어올 때 눈을 털고 장비를 보관해야 한다. 지저분한 눈과 부츠 클리너는 밖에 있어야 한다. 장비는 관리가 필요하므로 랙은 실내에 있어야 한다.
설계 패턴의 중요한 측면은 좋은 시스템을 열악한 시스템(집, 컴퓨터 프로그램 또는 일상적인 사용 물건일 수 있음)과 구별하는 핵심 아이디어를 식별하고 문서화하는 것이며, 미래 시스템의 설계를 지원하는 것이다. 패턴에서 표현된 아이디어는 해당 컨텍스트 내에서 매우 다른 시스템에 적용할 수 있을 만큼 일반적이어야 하지만, 여전히 건설적인 지침을 제공할 만큼 구체적이어야 한다.
패턴에서 다루는 문제와 솔루션이 적용되는 상황의 범위를 컨텍스트라고 한다. 각 패턴에서 중요한 부분은 이 컨텍스트를 설명하는 것이다. 예시는 패턴이 매우 다른 상황에 어떻게 적용되는지 더욱 잘 보여줄 수 있다.
예를 들어, 알렉산더의 패턴 "기다리는 장소"는 수술실의 대기실과 마찬가지로 버스 정류장을 다루면서도 유용하고 건설적인 솔루션을 제안한다. 감마 외 4인조(Gang-of-Four)의 책 ''디자인 패턴''은 프로그래밍 언어 및 프로그램의 적용 도메인과 독립적인 솔루션을 제안한다.
하지만 패턴에 설명된 문제와 솔루션은 추상성과 일반성의 정도, 그리고 구체성의 정도에 따라 다를 수 있다. 결국 이것은 저자의 선호도에 달려 있다. 그러나 매우 추상적인 패턴조차도 본질적으로 절대적으로 구체적이고 특정한 예시를 포함하는 경우가 많다.
패턴은 또한 실제 세계에서 얼마나 증명되었는지에 따라 다를 수 있다. 알렉산더는 각 패턴에 대해 0, 1 또는 2개의 별점으로 평가하여 실제 예제에서 얼마나 잘 증명되었는지 나타낸다. 일반적으로 모든 패턴은 최소한 몇 가지 실제 예제가 필요하다고 주장된다. 그러나 아직 구현되지 않은 아이디어를 패턴 형식으로 문서화하는 것도 가능하다.
크리스토퍼 알렉산더의 책에 있는 패턴은 또한 규모의 수준에 따라 다르다. 어떤 패턴은 마을이나 동네를 건설하는 방법을 설명하고, 다른 패턴은 개별 건물과 방의 내부를 다룬다. 알렉산더는 작은 규모의 인공물을 큰 규모의 세계를 구성하는 요소로 간주하므로, 이들을 계층적 네트워크에 연결할 수 있다.
패턴은 해결하려는 문제를 특징짓고, 이러한 문제가 발생하는 상황이나 맥락, 그리고 제안된 해결책을 권장할 수 있는 조건을 명시해야 한다.
종종 이러한 문제는 서로 다른 이해관계 또는 "힘"의 갈등에서 발생한다. 패턴은 이러한 힘의 균형을 맞추고 최종 결정을 내리는 데 도움이 되는 대화로 나타난다.
예를 들어, 무선 전화기를 제안하는 패턴이 있을 수 있다. 힘은 의사 소통의 필요성과 동시에 다른 일(요리, 책장 검토)을 해야 하는 필요성이다. 매우 구체적인 패턴은 단순히 "무선 전화기"일 것이다. 더 일반적인 패턴은 "무선 장치" 또는 "보조 활동"이 될 수 있으며, 보조 활동(예: 전화 통화 또는 청바지 주머니 검사)이 다른 활동을 방해해서는 안 된다는 것을 시사한다.
맥락에서 매우 비특정적이지만, "보조 활동" 패턴의 힘은 "무선 전화기"의 힘과 매우 유사하다. 따라서 상충하는 힘은 패턴으로 표현된 디자인 개념의 본질의 일부로 간주될 수 있다.
일반적으로 패턴은 주어진 값과 관련된 근거를 포함한다. 크리스토퍼 알렉산더에게는 건축물을 접하게 될 사람들에 대해 생각하는 것이 가장 중요합니다. 그의 주요 가치 중 하나는 이러한 사람들이 더욱 살아있다고 느끼게 하는 것이다. 그는 "이름 없는 품질"(QWAN)에 대해 이야기한다.
더 일반적으로, 좋은 시스템은 사용자가 사용하도록 설계된 사람이나 더 나아가 모든 사람에 의해 일상 생활을 풍요롭게 하는 것으로 받아들여지고 환영받으며 기꺼이 수용되어야 한다고 말할 수 있다. 예를 들어, 크리스토퍼 알렉산더는 거리 카페를 논할 때, 손님의 가능한 욕망뿐만 아니라 단순히 지나가는 사람들에 대해서도 언급한다.
같은 사고방식이 전화나 자동차와 같은 기술 장치, 프로젝트를 진행하는 팀과 같은 사회 구조, 또는 컴퓨터 프로그램의 사용자 인터페이스에도 적용될 수 있다. 예를 들어, 소프트웨어 시스템의 품질은 사용자가 시스템을 즐기면서 시간을 보내는지 아니면 시스템과 씨름하면서 시간을 보내는지 관찰하여 평가할 수 있다.
인간의 삶에 미치는 영향에 초점을 맞춤으로써, 변화하는 기술과 독립적인 패턴을 식별할 수 있으며, 따라서 "영원한 품질"(알렉산더)을 찾을 수 있다.
2. 1. 패턴의 구조
일반적으로 패턴 언어 또는 컬렉션의 저자는 포함된 모든 패턴에 대한 일반적인 구조를 선택하여 각 패턴을 컨텍스트, 문제 진술, 해결책 등과 같은 일반적인 섹션으로 나눈다.예를 들어 크리스토퍼 알렉산더의 패턴은 각 패턴이 짧은 이름, 등급(최대 두 개의 '*' 기호), 민감화 그림, 컨텍스트 설명, 문제 진술, 예시 및 설명이 포함된 긴 텍스트 부분, 해결책 진술, 스케치 및 추가 참조로 구성된다. 이 구조와 레이아웃은 때때로 "알렉산드리아 형식"이라고 한다.
크리스토퍼 알렉산더는 패턴의 다양한 섹션을 표시하기 위해 특별한 텍스트 레이아웃을 사용한다. 예를 들어 문제 진술과 해결책 진술은 굵은 글꼴로 인쇄되며, 후자는 항상 "따라서:" 키워드로 시작된다. 대신 일부 저자는 명시적인 레이블을 사용하여 어느 정도의 중복성을 만듭니다.
팀이 설계를 할 때, 패턴 이름은 팀이 공유할 수 있는 어휘를 형성한다. 따라서 패턴 이름은 기억하기 쉽고 매우 설명적이어야 한다. 크리스토퍼 알렉산더의 작품에서 몇 가지 예를 들면, 창문의 위치를 정의하는 데 도움이 되는 창문 위치(WINDOW PLACE)와, 버스 정류장이나 병원 대기실의 특징을 정의하는 데 도움이 되는 기다리는 장소(A PLACE TO WAIT)가 있다.
2. 2. 패턴의 예시
가족과 친구들을 위해 소량으로 초콜릿칩 쿠키를 굽는 상황에서, 쿠키 반죽에 대한 초콜릿 칩의 최적 비율을 결정하는 것은 중요한 문제다. 대부분의 사람들이 초콜릿을 초콜릿칩 쿠키의 가장 좋은 부분이라고 생각하며, 초콜릿이 너무 많으면 쿠키가 뭉쳐지지 않아 매력이 감소할 수 있다. 소량으로 요리하므로 비용은 고려 사항이 아니기 때문에, 튼튼한 쿠키를 만들 수 있는 최대 양의 초콜릿 칩을 사용하는 것이 해결책이 될 수 있다. 이를 위해서는 설탕 비율, 밀가루 비율, 계란 비율 등을 먼저 고려해야 한다. 또한, 견과류 비율, 요리 시간, 냉동 방법 등도 고려할 수 있다.3. 패턴 언어의 구성
여러 단어들이 모여 한 문장이 되고, 여러 문장들이 모여 하나의 글이 되듯이, 여러 패턴이 모여 하나의 패턴 언어가 되어 사람들이 기분 좋다고 느끼는 환경에 대한 분석을 가능하게 한다. 크리스토퍼 알렉산더에 의하면 각각의 패턴은 세계 각국의 아름다운 도시 및 주거 공간에 공통적으로 적용되는 보편적인 것으로, 예전에는 누구나 알고 있었던 것이지만 급격한 근대화로 인한 현대 도시 계획이 진행되면서 점차 잊혀져 버린 것이라고 한다. 각각의 패턴은 현대 도시 계획의 발상과는 정반대의 발상을 갖고 있으며, 인간적 척도 요소가 중시되고 있다.
바람직한 사회 전체를 한 번에 설계 및 건설 하는 것은 불가능하지만, 각각의 패턴에 따라 하나 하나의 진행되는 과정에서 일종의 커뮤니티를 형성하여 간다. 이러한 각각의 패턴을 찾아내는 것은 해당 도시 및 주거 공간에 거주하는 주민 자신이며, 건축가는 그들이 패턴을 찾아가는 것을 도와주고, 실제 모양이 되도록 설계 및 시공 감리를 하는 역할을 맡는다.
단어가 유용한 언어를 만들기 위해 서로 문법 및 의미 관계를 가져야 하는 것처럼, 디자인 패턴 역시 패턴 언어를 형성하기 위해 위치와 유용성 순서에 따라 서로 관련되어야 한다. 크리스토퍼 알렉산더(Christopher Alexander)의 연구는 분해 과정을 설명하는데, 여기서 디자이너는 문제를 가지고 (아마도 상업적 과제), 해결책을 선택한 다음 더 큰 해결책에서 발생하는 새롭고 작은 문제를 발견한다. 때때로 작은 문제에는 해결책이 없으며, 다른 더 큰 해결책을 선택해야 한다. 결국 나머지 모든 디자인 문제는 빌더의 즉흥적인 해결을 통해 해결될 수 있을 만큼 작거나 일상적이 되며, "디자인"은 완료된다.
실제 조직 구조 (계층, 반복 등)는 문제에 따라 디자이너의 재량에 맡겨진다. 이는 디자이너가 작은 부분에서 시작하여 디자인을 탐색할 수 있도록 명시적으로 허용한다. 이런 일이 발생하면, 디자이너는 일반적으로 문제가 실제로 더 큰 해결책의 일부임을 깨닫게 된다. 이 시점에서 디자인은 거의 항상 더 나은 디자인이 된다.
따라서 언어에서 각 패턴은 다른 패턴 및 전체 언어와의 관계를 나타내야 한다. 이는 언어를 사용하는 디자이너에게 해결해야 하는 관련 문제에 대한 많은 지침을 제공한다.
외부 전문가가 패턴 언어를 적용하는 가장 어려운 부분은 실제로 해결해야 할 문제의 신뢰할 수 있고 완전한 목록을 얻는 것이다. 물론 문제에 가장 익숙한 사람들은 디자인이 필요한 사람들이다. 그래서 알렉산더는 강력하고 실용적인 대규모 초기 솔루션을 형성하고, 디자인의 유용성을 극대화하며, 디자인 재작업을 최소화하는 강력한 방법으로 관련되고 권한이 부여된 사용자의 현장 즉흥성을 옹호했다.[7][3] 실제로, 건축 사용자의 권한을 부여하려는 열망이 알렉산더가 처음부터 건축을 위한 패턴 언어 프로젝트를 시작하게 된 계기였다.
설계 패턴의 중요한 측면은 좋은 시스템을 열악한 시스템(집, 컴퓨터 프로그램 또는 일상적인 사용 물건일 수 있음)과 구별하는 핵심 아이디어를 식별하고 문서화하는 것이며, 미래 시스템의 설계를 지원하는 것이다. 패턴에서 표현된 아이디어는 해당 컨텍스트 내에서 매우 다른 시스템에 적용할 수 있을 만큼 일반적이어야 하지만, 여전히 건설적인 지침을 제공할 만큼 구체적이어야 한다.
패턴에서 다루는 문제와 솔루션이 적용되는 상황의 범위를 컨텍스트라고 한다. 각 패턴에서 중요한 부분은 이 컨텍스트를 설명하는 것이다. 예시는 패턴이 매우 다른 상황에 어떻게 적용되는지 더욱 잘 보여줄 수 있다.
예를 들어, 알렉산더의 패턴 "기다리는 장소"는 수술실의 대기실과 마찬가지로 버스 정류장을 다루면서도 유용하고 건설적인 솔루션을 제안한다. 감마 외 4인조(Gang-of-Four)의 책 ''디자인 패턴''은 프로그래밍 언어 및 프로그램의 적용 도메인과 독립적인 솔루션을 제안한다.
하지만 패턴에 설명된 문제와 솔루션은 추상성과 일반성의 정도, 그리고 구체성의 정도에 따라 다를 수 있다. 결국 이것은 저자의 선호도에 달려 있다. 그러나 매우 추상적인 패턴조차도 본질적으로 절대적으로 구체적이고 특정한 예시를 포함하는 경우가 많다.
패턴은 또한 실제 세계에서 얼마나 증명되었는지에 따라 다를 수 있다. 알렉산더는 각 패턴에 대해 0, 1 또는 2개의 별점으로 평가하여 실제 예제에서 얼마나 잘 증명되었는지 나타낸다. 일반적으로 모든 패턴은 최소한 몇 가지 실제 예제가 필요하다고 주장된다. 그러나 아직 구현되지 않은 아이디어를 패턴 형식으로 문서화하는 것도 가능하다.
알렉산더의 책에 있는 패턴은 또한 규모의 수준에 따라 다르다. 어떤 패턴은 마을이나 동네를 건설하는 방법을 설명하고, 다른 패턴은 개별 건물과 방의 내부를 다룬다. 알렉산더는 작은 규모의 인공물을 큰 규모의 세계를 구성하는 요소로 간주하므로, 이들을 계층적 네트워크에 연결할 수 있다.
일반적으로 패턴 언어 또는 컬렉션의 저자는 포함된 모든 패턴에 대한 일반적인 구조를 선택하여 각 패턴을 컨텍스트, 문제 진술, 해결책 등과 같은 일반적인 섹션으로 나눕니다.
예를 들어 크리스토퍼 알렉산더(Christopher Alexander)의 패턴은 각 패턴이 짧은 이름, 등급(최대 두 개의 '*' 기호), 민감화 그림, 컨텍스트 설명, 문제 진술, 예시 및 설명이 포함된 긴 텍스트 부분, 해결책 진술, 스케치 및 추가 참조로 구성됩니다. 이 구조와 레이아웃은 때때로 "알렉산드리아 형식"이라고 합니다.
알렉산더는 패턴의 다양한 섹션을 표시하기 위해 특별한 텍스트 레이아웃을 사용합니다. 예를 들어 문제 진술과 해결책 진술은 굵은 글꼴로 인쇄되며, 후자는 항상 "따라서:" 키워드로 시작됩니다. 대신 일부 저자는 명시적인 레이블을 사용하여 어느 정도의 중복성을 만듭니다.
=== 패턴 언어의 계층 구조 ===
패턴 언어는 크리스토퍼 알렉산더가 구상한 바와 같이 패턴 간의 링크를 포함하고 있어, 디자이너가 프로젝트에 하나의 패턴을 적용하려 할 때, 해당 맥락에서 유용하다고 여겨지는 다른 패턴으로 연결되도록 한다.
알렉산더의 저서에서 이러한 링크는 "참조" 부분에 수집되어 있으며, 연결된 패턴의 "맥락" 부분에서 반복적으로 나타난다. 따라서 전체 구조는 방향 그래프이다. "참조"에서 연결된 패턴은 대개 더 작은 규모의 문제를 다루며, 더 큰 규모의 문제의 일부로 제시된다. 예를 들어, "공공 야외 공간(PUBLIC OUTDOOR ROOM)" 패턴은 "계단 좌석(STAIR SEATS)"에 대한 참조를 가지고 있다.
패턴 설명이 없더라도, 이러한 링크는 의미 있는 이름과 함께 메시지를 전달한다. 사람들이 시간을 보낼 수 있는 야외 공간("공공 야외 공간")을 만들 때, 사람들이 앉을 수 있는 계단("계단 좌석")으로 둘러싸는 것을 고려해 보라는 식이다. 알렉산더는 네트워크의 연결이 패턴 자체의 텍스트보다 훨씬 더 의미 있다고 주장한다.
알렉산더의 저서에 나오는 링크는 명확하게 계층적 네트워크를 형성한다. 알렉산더는 문법의 계층 구조에 비유하며, 이것이 그가 패턴 ''언어''에 대해 이야기하는 한 가지 근거이다.
링크의 아이디어는 패턴 저자들 사이에서 일반적으로 받아들여지고 있지만, 링크 뒤에 있는 의미론적 근거는 다를 수 있다. 그러나 감마(Gamma) 등은 ''디자인 패턴''에서 패턴 연결을 거의 사용하지 않는다. 이러한 경우 우리는 ''패턴 언어''보다는 ''패턴 카탈로그''에 대해 이야기할 것이다.
=== 패턴언어의 연결성 ===
패턴 언어는 크리스토퍼 알렉산더가 구상한 바와 같이 패턴 간의 링크를 포함하고 있어, 디자이너가 프로젝트에 하나의 패턴을 적용하려 할 때, 해당 맥락에서 유용하다고 여겨지는 다른 패턴으로 연결되도록 한다.
알렉산더의 저서에서 이러한 링크는 "참조" 부분에 수집되어 있으며, 연결된 패턴의 "맥락" 부분에서 반복적으로 나타난다. 따라서 전체 구조는 방향 그래프이다. "참조"에서 연결된 패턴은 대개 더 작은 규모의 문제를 다루며, 더 큰 규모의 문제의 일부로 제시된다. 예를 들어, "공공 야외 공간(PUBLIC OUTDOOR ROOM)" 패턴은 "계단 좌석(STAIR SEATS)"에 대한 참조를 가지고 있다.
패턴 설명이 없더라도, 이러한 링크는 의미 있는 이름과 함께 메시지를 전달한다. 예를 들어 사람들이 시간을 보낼 수 있는 야외 공간("공공 야외 공간")을 만들 때, 사람들이 앉을 수 있는 계단("계단 좌석")으로 둘러싸는 것을 고려해 볼 수 있다. 사무실("작업장 및 사무실(WORKSHOPS AND OFFICES)")을 계획하고 있다면, 작업 공간을 소규모 그룹("소규모 작업 그룹(SMALL WORKING GROUPS)")으로 배치하는 것을 고려해 볼 수 있다. 알렉산더는 네트워크의 연결이 패턴 자체의 텍스트보다 훨씬 더 의미 있다고 주장한다.
알렉산더의 저서에 나오는 링크는 명확하게 계층적 네트워크를 형성한다. 알렉산더는 문법의 계층 구조에 비유하며, 이것이 그가 패턴 ''언어''에 대해 이야기하는 한 가지 근거이다.
링크의 아이디어는 패턴 저자들 사이에서 일반적으로 받아들여지고 있지만, 링크 뒤에 있는 의미론적 근거는 다를 수 있다. 그러나 감마(Gamma) 등은 ''디자인 패턴''에서 패턴 연결을 거의 사용하지 않는다. 아마도 그들의 패턴 모음에는 큰 의미가 없었기 때문일 것이다. 이러한 경우 우리는 ''패턴 언어''보다는 ''패턴 카탈로그''에 대해 이야기할 것이다.
3. 1. 패턴 언어의 계층 구조
패턴 언어는 알렉산더가 구상한 바와 같이, 패턴 간의 링크를 포함하고 있어, 디자이너가 프로젝트에 하나의 패턴을 적용하려 할 때, 해당 맥락에서 유용하다고 여겨지는 다른 패턴으로 연결되도록 한다.알렉산더의 저서에서 이러한 링크는 "참조" 부분에 수집되어 있으며, 연결된 패턴의 "맥락" 부분에서 반복적으로 나타난다. 따라서 전체 구조는 방향 그래프이다. "참조"에서 연결된 패턴은 대개 더 작은 규모의 문제를 다루며, 더 큰 규모의 문제의 일부로 제시된다. 예를 들어, "공공 야외 공간(PUBLIC OUTDOOR ROOM)" 패턴은 "계단 좌석(STAIR SEATS)"에 대한 참조를 가지고 있다.
패턴 설명이 없더라도, 이러한 링크는 의미 있는 이름과 함께 메시지를 전달한다. 사람들이 시간을 보낼 수 있는 야외 공간("공공 야외 공간")을 만들 때, 사람들이 앉을 수 있는 계단("계단 좌석")으로 둘러싸는 것을 고려해 보라는 식이다. 알렉산더는 네트워크의 연결이 패턴 자체의 텍스트보다 훨씬 더 의미 있다고 주장한다.
알렉산더의 저서에 나오는 링크는 명확하게 계층적 네트워크를 형성한다. 알렉산더는 문법의 계층 구조에 비유하며, 이것이 그가 패턴 ''언어''에 대해 이야기하는 한 가지 근거이다.
링크의 아이디어는 패턴 저자들 사이에서 일반적으로 받아들여지고 있지만, 링크 뒤에 있는 의미론적 근거는 다를 수 있다. 그러나 감마(Gamma) 등은 ''디자인 패턴''에서 패턴 연결을 거의 사용하지 않는다. 이러한 경우 우리는 ''패턴 언어''보다는 ''패턴 카탈로그''에 대해 이야기할 것이다.
3. 2. 패턴언어의 연결성
패턴 언어는 크리스토퍼 알렉산더가 구상한 바와 같이 패턴 간의 링크를 포함하고 있어, 디자이너가 프로젝트에 하나의 패턴을 적용하려 할 때, 해당 맥락에서 유용하다고 여겨지는 다른 패턴으로 연결되도록 한다.알렉산더의 저서에서 이러한 링크는 "참조" 부분에 수집되어 있으며, 연결된 패턴의 "맥락" 부분에서 반복적으로 나타난다. 따라서 전체 구조는 방향 그래프이다. "참조"에서 연결된 패턴은 대개 더 작은 규모의 문제를 다루며, 더 큰 규모의 문제의 일부로 제시된다. 예를 들어, "공공 야외 공간(PUBLIC OUTDOOR ROOM)" 패턴은 "계단 좌석(STAIR SEATS)"에 대한 참조를 가지고 있다.
패턴 설명이 없더라도, 이러한 링크는 의미 있는 이름과 함께 메시지를 전달한다. 예를 들어 사람들이 시간을 보낼 수 있는 야외 공간("공공 야외 공간")을 만들 때, 사람들이 앉을 수 있는 계단("계단 좌석")으로 둘러싸는 것을 고려해 볼 수 있다. 사무실("작업장 및 사무실(WORKSHOPS AND OFFICES)")을 계획하고 있다면, 작업 공간을 소규모 그룹("소규모 작업 그룹(SMALL WORKING GROUPS)")으로 배치하는 것을 고려해 볼 수 있다. 알렉산더는 네트워크의 연결이 패턴 자체의 텍스트보다 훨씬 더 의미 있다고 주장한다.
알렉산더의 저서에 나오는 링크는 명확하게 계층적 네트워크를 형성한다. 알렉산더는 문법의 계층 구조에 비유하며, 이것이 그가 패턴 ''언어''에 대해 이야기하는 한 가지 근거이다.
링크의 아이디어는 패턴 저자들 사이에서 일반적으로 받아들여지고 있지만, 링크 뒤에 있는 의미론적 근거는 다를 수 있다. 그러나 감마(Gamma) 등은 ''디자인 패턴''에서 패턴 연결을 거의 사용하지 않는다. 아마도 그들의 패턴 모음에는 큰 의미가 없었기 때문일 것이다. 이러한 경우 우리는 ''패턴 언어''보다는 ''패턴 카탈로그''에 대해 이야기할 것이다.
4. 패턴 언어의 활용
크리스토퍼 알렉산더는 그의 시스템을 사용하는 사람들에게 그들 자신의 패턴으로 그의 언어를 확장하도록 권장했다. 이를 가능하게 하기 위해 그의 저서는 건축이나 토목 공학에만 국한되지 않고 패턴 언어의 일반적인 방법도 설명한다. ''A Pattern Language''의 원래 구상은 페이지를 쉽게 추가할 수 있도록 3링 바인더 형태로 출판하는 것이었지만, 출판 과정에서 실용적이지 않다는 것이 증명되었다.[5] 패턴 언어 접근 방식은 다양한 분야의 전문 지식을 문서화하는 데 사용되어 왔다. 몇 가지 예로는 건축 패턴, 컴퓨터 과학 패턴, 상호 작용 디자인 패턴, 교육 패턴, 패턴 가드닝, 사회적 행동 패턴 및 그룹 촉진 패턴 등이 있다. 패턴 언어 접근 방식은 또한 중요한 공유 문제에 대해 함께 협력하는 다양한 사람들과 커뮤니티의 행동을 조정하는 데 도움으로써 시민 지성을 증진하는 방법으로 권장되었다.[6] 패턴 언어를 사용하고 새로운 패턴을 만드는 것에 대한 알렉산더의 사양은 여전히 영향력이 있으며, 그의 저서는 관련 없는 분야의 전문가들에게 스타일 면에서 참고가 된다.
UML이나 순서도 기호 모음과 같은 표기법은 패턴 언어가 아니라는 점에 유의해야 한다. 이러한 것들은 알파벳과 더 가깝게 비교될 수 있다. 즉, 그 기호는 패턴 언어를 문서화하는 데 사용될 수 있지만, 그 자체로는 언어가 아니다. 시작부터 끝까지 단 하나의 올바른 경로만 존재하는, 따라야 할 일련의 단계인 레시피 또는 기타 순차적인 단계도 패턴 언어가 아니다. 그러나 새로운 레시피를 디자인하는 과정은 패턴 언어의 사용으로 이점을 얻을 수 있다.
==== 다양한 분야로의 응용 ====
크리스토퍼 알렉산더의 아이디어는 다른 분야에서도 채택되었으며, 책 ''패턴 언어''에 묘사된 원래의 건축에 대한 패턴 적용보다 훨씬 더 널리 사용되었다.[7] 1990년대 이후의 예로는 소프트웨어 엔지니어링의 소프트웨어 디자인 패턴과 더 일반적으로 컴퓨터 과학의 아키텍처 패턴, 그리고 인터랙션 디자인 패턴이 있다. 1990년대 후반부터 교육 패턴이 교육의 좋은 관행을 문서화하는 데 사용되었다.[8] 2000년대 중반부터 패턴 언어의 아이디어가 시스템 아키텍처 설계[9][10] 및 디자인 과학 (방법론) 패턴에 도입되었으며, 비제이 바이슈나비와 윌리엄 큐클러가 저술한 책에는 66개의 패턴이 포함되었다.[11] 이 책의 두 번째 개정 및 확장판은 2015년에 84개의 패턴으로 출판되었다.[12] 지속 가능성, 민주주의, 긍정적인 사회 변화를 촉진하기 위해 정보 및 통신을 사용하는 136개의 패턴을 담은 책 ''Liberating Voices: A Pattern Language for Communication Revolution''이 2008년에 더 많은 패턴을 포함하는 웹사이트와 함께 출판되었다.[13] "Group Works: A Pattern Language for Bringing Life to Meetings and Other Gatherings" 덱은 2011년에 출판되었다.[14] 패턴 언어의 아이디어는 또한 퍼머컬처 디자인에도 적용되었다.[15]
위키의 발명가인 워드 커닝햄은 마이클 메하피와 공동으로 위키와 패턴 언어 사이에 깊은 관계가 있으며, 위키가 "사실 패턴의 효율적인 공유 및 수정을 용이하게 하기 위해 개발된 도구"라고 주장하는 논문을 발표했다.[16]
1990년대에 소프트웨어 분야에 "패턴 언어"의 기법이 도입된 것을 시작으로, 2000년대에 들어서면서부터는 인간의 행위에 대해서도 "패턴 언어"를 적용하려는 움직임이 나타나게 되었다.[19]
==== 한국에서의 적용 사례 ====
일본에는 패턴 언어의 발상이 소개되어 마나즈루정의 "미의 조례" 제정, 사이타마현 가와고에시에서 67개의 패턴으로 구성된 "가와고에 이치방가이 마을 만들기 규범"이 만들어지는 등, 마을 만들기의 규칙에 적용되고 있다.[17] 크리스토퍼 알렉산더 본인이 직접 실천한 예로, 1982년 목조 건축으로 지어진 아즈마노 고등학교의 설계가 있다.[18] 여기에서는 학교 관계자들이 패턴을 찾아 캠퍼스 계획이 수립되었다.
4. 1. 다양한 분야로의 응용
크리스토퍼 알렉산더의 아이디어는 다른 분야에서도 채택되었으며, 책 ''패턴 언어''에 묘사된 원래의 건축에 대한 패턴 적용보다 훨씬 더 널리 사용되었다.[7] 1990년대 이후의 예로는 소프트웨어 엔지니어링의 소프트웨어 디자인 패턴과 더 일반적으로 컴퓨터 과학의 아키텍처 패턴, 그리고 인터랙션 디자인 패턴이 있다. 1990년대 후반부터 교육 패턴이 교육의 좋은 관행을 문서화하는 데 사용되었다.[8] 2000년대 중반부터 패턴 언어의 아이디어가 시스템 아키텍처 설계[9][10] 및 디자인 과학 (방법론) 패턴에 도입되었으며, 비제이 바이슈나비와 윌리엄 큐클러가 저술한 책에는 66개의 패턴이 포함되었다.[11] 이 책의 두 번째 개정 및 확장판은 2015년에 84개의 패턴으로 출판되었다.[12] 지속 가능성, 민주주의, 긍정적인 사회 변화를 촉진하기 위해 정보 및 통신을 사용하는 136개의 패턴을 담은 책 ''Liberating Voices: A Pattern Language for Communication Revolution''이 2008년에 더 많은 패턴을 포함하는 웹사이트와 함께 출판되었다.[13] "Group Works: A Pattern Language for Bringing Life to Meetings and Other Gatherings" 덱은 2011년에 출판되었다.[14] 패턴 언어의 아이디어는 또한 퍼머컬처 디자인에도 적용되었다.[15]위키의 발명가인 워드 커닝햄은 마이클 메하피와 공동으로 위키와 패턴 언어 사이에 깊은 관계가 있으며, 위키가 "사실 패턴의 효율적인 공유 및 수정을 용이하게 하기 위해 개발된 도구"라고 주장하는 논문을 발표했다.[16]
1990년대에 소프트웨어 분야에 "패턴 언어"의 기법이 도입된 것을 시작으로, 2000년대에 들어서면서부터는 인간의 행위에 대해서도 "패턴 언어"를 적용하려는 움직임이 나타나게 되었다.[19]
4. 2. 한국에서의 적용 사례
일본에는 패턴 언어의 발상이 소개되어 마나즈루정의 "미의 조례" 제정, 사이타마현 가와고에시에서 67개의 패턴으로 구성된 "가와고에 이치방가이 마을 만들기 규범"이 만들어지는 등, 마을 만들기의 규칙에 적용되고 있다.[17] 크리스토퍼 알렉산더 본인이 직접 실천한 예로, 1982년 목조 건축으로 지어진 아즈마노 고등학교의 설계가 있다.[18] 여기에서는 학교 관계자들이 패턴을 찾아 캠퍼스 계획이 수립되었다.5. 비판 및 한계
참조
[1]
서적
The Timeless Way of Building
Oxford University Press
1979
[2]
간행물
Guiding Patterns of Naturally Occurring Design: Elements. PURPLSOC 2015 proceedings, July 3-5 2015 Krems, Austria
http://www.synapse9.[...]
PURPLSOC meeting on the many open scientific questions, e.g. regarding the theoretical background of patterns and the practical implementation of pattern methods in research and teaching.
[3]
문서
The Oregon Project
[4]
학술지
Pattern Languages in HCI: A critical review
2006-01
[5]
간행물
Symposium 2009, presentation by 4 of 6 original authors of ''A Pattern Language''.
Portland Urban Architecture Research Laboratory
[6]
웹사이트
Choosing success: pattern languages as critical enablers of civic intelligence
http://publicspherep[...]
Portland Urban Architecture Research Laboratory Conference, Portland, OR, 2009
2017-03-06
[7]
서적
A Pattern Language: Towns, Buildings, Construction
https://archive.org/[...]
Oxford University Press, USA
[8]
학술지
Analysis of design: an exploration of patterns and pattern languages for pedagogy
https://www.learntec[...]
1999-09
[9]
학술지
Applying the concept of patterns to systems architecture
2007-06
[10]
학술지
The concept of reference architectures
2010-03
[11]
서적
Design Science Research Methods and Patterns
http://www.crcpress.[...]
Auerbach Publications
2007-10
[12]
서적
Design Science Research Methods and Patterns, 2nd Edition
http://www.crcpress.[...]
CRC Press
2015
[13]
웹사이트
Liberating Voices Pattern Language
http://www.publicsph[...]
2017-03-06
[14]
웹사이트
Group Pattern Language Project
http://groupworksdec[...]
2017-03-06
[15]
서적
Edible Forest Gardens, Volume II: Ecological Design And Practice for Temperate-Climate Permaculture
Chelsea Green Publishing
2005
[16]
서적
Proceedings of the 20th Conference on Pattern Languages of Programs, October 23–26, 2013, Monticello, Illinois
The Hillside Group
2013
[17]
PDF
川越一番街 町づくり規範
http://www.hkk.or.jp[...]
[18]
웹사이트
盈進学園創立90周年・東野高等学校開校30周年記念 | 学校法人盈進学園 東野高等学校
http://eishin.ac/90-[...]
[19]
웹사이트
パターン・ランゲージとは? - CreativeShift HP
https://creativeshif[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com