[TIL] 2024-12-17_디자인패턴

Yuri·2024년 12월 17일

TIL

목록 보기
9/59
post-thumbnail

1. 디자인 패턴(Design Pattern)

🔎 디자인 패턴

  • 프로그램 개발에서 자주 나타나는 과제들을 해결하기 위한 방법 중 하나
  • 과거 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여 이름을 붙여, 이후에 재이용하기 좋은 형태로 특정의 규약을 묶어서 정리한 것
  • 알고리즘과 같이 프로그램 코드로 바로 변환될 수 있는 형태는 아니지만, 특정한 상황에서 구조적인 문제를 해결하는 방식

디자인 패턴은 객체 지향의 특성 중 상속과 인터페이스, 합성(객체를 속성으로 사용)을 이용한다.

객체 지향 프로그래밍요리
4대 원칙(캡슐화, 상속, 추상화, 다형성)요리 도구
설계 원칙(SOLID)도구의 사용법
디자인 패턴레시피

🙋🏻 프로그래밍을 하다 보면 여러 비슷한 문제에 직면하게 된다. 이런 상황에서 많은 개발자들이 고민하고 정제한 표준과도 같은 설계를 "디자인 패턴"이라 한다.

💫 디자인 패턴의 장점

1. 재사용성: 반복적인 문제에 대한 일반적인 해결책을 제공하므로, 이를 재사용하여 유사한 상황에서 코드를 더 쉽게 작성
2. 가독성: 일정한 구조로 정리하고 명확하게 작성 → 개발자가 코드를 이해하고 유지보수하기 쉬움
3. 유지보수성: 코드를 쉽게 모듈화 할 수 있으며, 변경이 필요한 경우 해당 모듈만 수정하여 유지보수가 쉬워짐
4. 확장성: 새로운 기능을 추가하거나 변경할 때 디자인 패턴을 활용하여 기존 코드를 변경하지 않고도 새로운 기능을 통합할 수 있음
5. 안정성과 신뢰성: 수 많은 개발자가 인정한 모범 사례로 검증된 솔루션 제공

⇒ 하지만, 디자인 패턴은 모든 상황의 해결책은 아니다. 그 패턴이 "왜" 효율적인 방식인지 이해해야 한다.

GoF의 디자인 패턴

GoF(Gang of Four)의 디자인패턴은 가장 많이 사용되는 23개의 디자인 패턴이다.

⭐️ 디자인 패턴은 대부분은 다형성을 활용하는 것이다.

✏️ 참고자료

[OOP] 디자인 패턴(Design Pattern)이란? - 장점 및 종류
출처: https://ittrue.tistory.com/550 [IT is True:티스토리]

profile
안녕하세요 :)

0개의 댓글