S E P H ' S

디자인 패턴이란? 본문

Programing & Coding/Design Pattern

디자인 패턴이란?

yoseph0310 2023. 3. 4. 19:46

디자인 패턴은 객체지향적 프로그래밍을 위한 설계 기법 중 하나이다.

'객체지향적'으로 프로그램을 설계한다는 것은 쉬운 일이 아니다. 지금 당장 요구되는 문제를 해결하면서 추후에 발생할 수 있는 문제나 추가적인 요구사항이 생겼을 때 유연하게 수용하고 변경할 수 있도록 설계되어야 하기 때문이다. 이를 고려하기 위해 SOLID 원칙이나 여러 객체지향적 소프트웨어 설계 방법론을 바탕으로 기존 환경 내에서 반복적으로 일어나는 문제들을 어떻게 풀어나갈 것인지 정의해놓은 일종의 솔루션이 바로 디자인 패턴이다.

 

재사용이 가능한 설계는 선택하고, 재사용을 방해하는 설계는 배제하도록 도우며 이미 만든 시스템의 유지보수나 문서화도 개선할 수 있으며 클래스의 명세도 정확히 하고, 객체 간 상호작용 또는 설계 의도까지 명확히 할 수 있다.

 

요약하자면 디자인 패턴은 설계자들이 올바른 설계를 빨리 만들 수 있도록 도와준다.


디자인 패턴(Design Patter)이란?

[GoF(Gang of Four)의 디자인패턴]에서는 객체지향적 디자인 패턴의 카테고리를 생성패턴, 구조패턴, 행동패턴의 3가지로 구분하고 있다.

 

생성패턴 구조패턴 행동패턴
Singleton Adapter Command
Abstract Factory Composite Interpreter
Factory Mathod Decorator Iterator
Builder Facade Mediator
Prototype Flyweight Memento
  Proxy Observer
    State
    Strategy
    Template Method

 

디자인 패턴 공부하는 방법

  1. 생성(Creational), 구조(Structural), 행동(Behavioral) 패턴이 각각 어떤 문제들을 해결하는지 파악한다.
  2. 패턴들 간의 관련성을 파악한다.
  3. 비슷한 목적의 패턴들을 모아 공부한다. 예를 들어, 추상 팩토리 패턴을 공부했으면 이어서 팩토리 메소드 패턴을 공부하고 각각의 공통점과 차이점을 비교하여 헷갈리지 않게 정리한다.
  4. 디자인 패턴이 익숙치 않다면 반드시 예제 코드를 직접 작성해본다. 프로젝트에 적용한다는 생각으로 예제를 확실히 이해하고 가능하다면 실제로 적용하여 프로젝트를 진행해보자.

 

출처 : https://readystory.tistory.com/116