본문 바로가기

Programming

디자인패턴 소개






Software를 디자인하고 개발을 하다 보면 내가 직면했던 어떠한 문제에 대해서 이미 다른 개발자들이 나와 같은 경험을 했었고, 이러한 문제에 대해서 적합한 방법으로 풀어놓은 Solution들이 있다는 사실을 알게 된다. 이러한 Solution들은 많은 다른 개발자들에 의해서 검증되고 지속적으로 발전해왔다. 그렇기 때문에, 우리는 굳이 이러한 문제에 대해서 새로 문제 해결방법을 제시 할 필요가 없고, 이 검증된 해결방법을 사용함으로써, 좀더 효율적이고 안정된 소프트웨어를 개발 할 수 있는 기회를 얻을 수 있다.

 

Software Engineering에서의 Design Pattern Software Design을 할 때, 흔히 발견되는 문제들에 대한 일반적이고 재사용 가능한 solution을 의미한다. Design Pattern은 바로 code로 변할 수 있는 완성된 Design을 의미하는 것은 아니다. Design Pattern은 많은 다양한 상황에서 문제를 어떻게 해결해야 하는지에 대한 명세나 Template을 의미한다.