자바스크립트 패턴 설계

서론

유지보수할 수 있게 코드를 작성하려면, 코드 안에서 반복되는 테마가 뭔지를 알아내는 능력이 필요합니다. 그리고 이런 테마를 최적화하는 능력이 필요합니다. 이런 분야에서 디자인 패턴에 대한 지식의 진가가 드러납니다.

책의 첫 부분에서는, 모든 프로그래밍 언어에 실제로 적용할 수 있는 디자인 패턴의 역사와 중요성에 대해 알아볼 것입니다. 

디자인 패턴의 역사가 이미 익숙하다면, 다음부분은 건너뛰고 '패턴이란 무엇인가?' 장부터 읽으세요.

디자인 패턴의 시초는 토목공학자 크리스토퍼 알렉산더가 쓴 책에서 찾아볼 수 있습니다. 알렉산더는 건축설계에 관한 문제를 해결하는 과정에서 경험한 것에 대해, 그리고 설계 문제하고 건물과 도시가 어떻게 연관되는지에 대해 책을 여럿 썼습니다. 어느날 알렉산더는 문득, 몇몇 설계 구조물을 반복해서 사용하면, 최적의 결과로 이어진다는 생각을 했습니다.

Sarah Ishikawra와 Murray Silverstein와의 협업에서, 알렉산더는 어떤 규모의 설계와 건축을 원하는 그 누구에게라도 도움이 될 수 있는 패턴 언어를 만들었습니다. 이것은 "패턴 언어 (A Pattern Language)"라는 제목의 논문으로 1997년에 출간되었고, 후에 양장본으로 출간되었습니다. 약 30 년 전에, 소프트웨어 엔지니어들은 알렉산더가 디자인 패턴에 대해 쓴 문서의 원리를 도입하기 시작했습니다. 디자인 패턴은 코딩 능력을 향상시키기 바라는 초보 개발자들에게 가이드 역할을 하였습니다. 디자인 패턴의 밑에 깔린 개념들은, 비록 형식적인 형태는 갖추지 않았더라도 프로그래밍 산업이 생긴 이래로 이미 있었습니다. 이 점에 주목할 필요가 있습니다. 

‎소프트웨어 엔지니어링 디자인 패턴 분야에서 최초로 출간된 책은 '디자인 패턴 : 재사용 가능한 객체 지향 소프트웨어'이며, 1995년에 출간되었습니다. 이 책을 쓴 사람은 에리히 감마, 리처드 헬름, 랄프 존슨, 존 블리사이즈이며, 이들은 후에 GoF(Gang of Four)로 알려졌습니다.

이 책은 두 가지 측면에서 매우 중요합니다. 이 책에서는 수많은 개발 기법과 함정들을 기술하는 방법으로, 디자인 패턴의 개념을 깊게 파고 들었습니다. 게다가 이 책에서는 오늘날 가장 자주 쓰는 스물 세가지 핵심적인 객체지향 디자인 패턴을 제공합니다.

여기에서는 ‘디자인 패턴의 종류’에서 23개의 주요 객체지향 디자인 패턴에 대해 더욱 상세하게 다룹니다. 또한 인기있는 자바스크립트 디자인 패턴을 여럿 살펴볼 것입니다. 그리고 특정 패턴이 어떤 프로젝트에 더욱 적합한 경우에, 적합한 이유가 무엇인지를 살펴볼 것입니다. 그리고 이 점을 기억하세요.  패턴은 평범한 자바스크립트 뿐 아니라, jQuery 나 Dojo 같은 추상적인 라이브러리에도 잘 적용할 수 있습니다.

시작하기 전에, (한숨 한 번 쉬고) 소프트웨어 디자인 분야에서 패턴을 어떻게 정의하는지 살펴 봅시다.

 

댓글

댓글 본문
버전 관리
김나솔
현재 버전
선택 버전
graphittie 자세히 보기