티스토리 뷰

반응형

디자인 패턴(Desgin Pattern) 이란

특정 상황에서 빈번하게 발생하는 구조적 문제를 해결한 디자인 방법을 의미한다. 객체 지향 프로그래밍에서 구조적 문제를 잘 해결할 수 있는 모범사례(Best Practice) 들을 모아 놓은 것으로 이해할 수 있다.

 

디자인 패턴을 사용하는 이유

좋은 해결책을 빠르게 제시 함으로써 생산성을 높이고 더 유연하고 재사용이 높은 코드를 작성 할 수 있다.

패턴을 통해서 의사소통이 가능하다.

Best Practice를 모아둔 것이기 때문에 좋은 모방책이 된다.

기존의 code를 이해하는데 도움이 많이 된다. 즉, 디자인 패턴을 바탕으로 만들어진 API를 쉽게 이해할 수 있다는 장점이 있다.

 

GoF의 디자인 패턴 카테고리

디자인 패턴 카테고리는 목적에 따라서 크게 3가지로 분류된다.

  1. 생성 패턴(Creational Pattern) - 유연하게 객체를 생성함으로써 문제를 해결하는 방법. 객체를 사용하는 부분과 생성하는 부분을 나눈다.
    • Factory Method
    • Abstract Factory
    • Builder
    • Prototype
    • Singleton
  2. 구조 패턴(Structural Pattern) - 상속과 같은 방법을 사용해서 클래스와 객체를 구성함으로써 문제를 해결하는 방법
    • Adapter
    • Bridge
    • Composite
    • Decorator
    • Facade
    • Proxy
  3. 행동 패턴(Behavioral Pattern) - 클래스에 책임을 할당해서 문제를 해결하는 방법
    • Interpreter
    • Template
    • Command
    • Iterator
    • Mediator
    • Observer
    • State
    • Strategy

 

객체 지향에서의 디자인 패턴은 좀 더 객체지향의 특성을 잘 이해하고 활용하기에 좋은 사례들인 것 같다. 사실 객체지향의 특성, 원칙 등과 같은 내용들은 개념적인 내용이지만, 디자인 패턴은 이를 실제 설계, 코드 레벨로 보여 줌으로써 이들에 대한 내용을 더 디테일하게 설명해줄 수 있는 것 같다. 따라서, 객체지향 프로그래밍을 잘 이해하고 사용하기 위해서는 디자인 패턴은 필수로 알아야 하는 내용으로 생각된다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함