🌳 고급 고급
디자인 패턴이 뭔가요?
쉽게 이해하기
디자인 패턴은 요리 레시피와 같아요. 파스타를 만들 때마다 처음부터 고민하지 않고, '까르보나라 레시피'를 따라 하면 되잖아요. 마찬가지로 '버튼을 누르면 무언가 실행한다'는 문제에는 Observer 패턴이라는 검증된 레시피가 있어요.
핵심 정리
자주 발생하는 프로그래밍 문제에 대한 검증된 해결책 템플릿이에요.
자세히 알아보기
디자인 패턴은 소프트웨어 설계에서 반복되는 문제에 대한 재사용 가능한 해결책이에요. 수십 년간 개발자들이 겪은 문제와 해결 방법을 정리한 일종의 '베스트 프랙티스' 모음집이죠.
대표적인 패턴으로 Singleton이 있어요. 데이터베이스 연결처럼 프로그램 전체에서 딱 하나만 있어야 하는 객체를 만들 때 쓰죠. Observer 패턴은 버튼 클릭, 데이터 변경 같은 이벤트를 여러 곳에서 감지해야 할 때 유용해요.
Factory 패턴은 객체 생성 로직을 캡슐화해요. '사용자가 일반 회원인지 프리미엄 회원인지에 따라 다른 객체를 생성'하는 복잡한 로직을 깔끔하게 정리할 수 있어요. Strategy 패턴은 알고리즘을 교체 가능하게 만들어요. 결제 방식(카드, 계좌이체, 포인트)을 쉽게 바꿀 수 있게 해주죠.
디자인 패턴을 알면 코드가 깔끔해지고, 다른 개발자와 소통이 쉬워져요. '여기는 Observer 패턴으로 구현했어요'라고 하면 구조를 바로 이해하거든요. React의 Higher-Order Component, Vue의 Mixin도 디자인 패턴의 응용이에요.
하지만 무조건 패턴을 쓰려고 하면 오히려 코드가 복잡해질 수 있어요. 간단한 문제에 복잡한 패턴을 쓰는 건 과한 거예요. 문제를 이해하고, 그에 맞는 패턴을 선택하는 게 중요해요.