본문 바로가기
디자인패턴

디자인 패턴

by KBS 2024. 2. 15.
728x90

디자인 패턴이란?

디자인 패턴은 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 전형적인 해결책 입니다. 이는 코드에서 반복되는 디자인 문제들을 해결하기 위해 맞춤화할 수 있는 미리 만들어진 청사진과 비슷하다고 한다.

쉽게말해서 sw개발에 있어서 많은 경험이 있었고 그 경험을 토대로 잘 만들어진 템플릿 같은 느낌으로 받아들여진다.

디자인 패턴을 공부하는 이유?

사실 패턴을 알지 못해도 개발하는데엔 문제가 없다고 생각이 드는데, 실제로 많은 프로그래머가 패턴에 대한 지식없이 업무를 수행하기도 하고 또 자신도 모르는 사이에 일부 패턴들을 구현하고 있을 수도 있다. 그럼에도 패턴을 공부하는 이유는

  • 디자인 패턴은 소프트웨어 디자인의 일반적인 문제들에 대해 시도되고 검증된 해결책들을 모은 것입니다. 이러한 문제들을 다루지 않더라도 패턴을 알고 있으면 여전히 쓸모가 있는데, 그 이유는 패턴을 배우게 되면 객체 지향 디자인의 원칙들을 사용해 많은 종류의 문제를 해결하는 방법을 배울 수 있습니다.
  • 디자인 패턴은 나와 티웜들이 더 효율적으로 의사소통하는 데 사용할 수 있는 공통 언어를 정의할 수 있습니다. 예를 들어서 당신의 팀이 디자인 패턴을 이해하면 업무 처리 중 당신이 '그 문제를 위해서는 그냥 싱글턴을 사용하세요'라고 말하면 모두가 당신이 무엇을 뜻했는지 이해할 수 있을 것이며 싱글턴 패턴에 포함된 개념들은 설명할 필요도 없을 것입니다.

디자인 패턴은 무적인가?

많은 사람들이 디자인 패턴에 대해 비판도 하고 있다. 이유는 많지만 한가지 글귀가 생각이 드는데

망치만 있으면 모든 것이 못처럼 보입니다.

많은 주니어 개발자는 패턴을 갓 배운 후, 더 간단한 코드로도 문제 해결이 되는 상황에도 모든 곳에 패턴을 적용하려고 할 수도있는데, 이것은 최근에 패턴에 익숙해진 많은 주니어 개발자를 괴롭히는 문제라고 생각한다.

728x90

댓글