IT지식/Computer Science

디자인패턴을 쓰는 이유

맨땅에헤딩개발자 2025. 2. 6. 15:59

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

 

우리가 개발을 할 때 자주 발생하는 특정 문제들을 객체의 상호관계 등을 이용하여 패턴을 만들어서

다음에 같은 문제가 발생할 시 이 패턴을 적용하면 쉽게 해결되도록 구현해놓은 해결방안을 말합니다.

 

* 우리가 개발할 때 사용하는 라이브러리나 프레임워크도 디자인 패턴을 기반으로 만들어 져 있습니다.

 

 

디자인 패턴을 왜 사용할까?

 

1. 우리가 개발할 때 발생하는 문제들은 왠만해선 이미 나왔던 문제일 가능성이 높다.

    이러한 경우 알맞은 디자인 패턴을 적용하면 보다 쉽게 문제를 해결할 수 있다.

2.  프로그램 설계 시 구체적인 설명 없이 디자인 패턴에 대한 사전 지식으로 개발자 간에

     커뮤니케이션이 수월해진다.

3. 이미 검증된 구조라 설계 시간이 줄어들며 문제 발생 확률이 현저히 낮아진다.

     

 

디자인 패턴의 종류와 특징

 

1. 생성 패턴

객체 생성에 관한 패턴으로, 객체의 생성과 조합을 캡슐화 해 특정 객체가 생성되거나 변경되어도 프로그램에 영향을 크게

받지 않도록 설계되었습니다.

 

생성 패턴의 종류

 

* 추상팩토리(Abstract Factory)

* 빌더(Builder)

* 팩토리 메서드(Factory Method)

* 프로토타입(Prototype)

* 싱글톤(Singleton)

 

 

2. 구조 패턴

클래스나 객체를 조합해 더 큰 구조를 만드는 패턴입니다. 예를 들어, 서로 다른 인터페이스를 지닌 2개의 객체를 묶어

단일 인터페이스를 제공하거나 객체들을 서로 묶어 새로운 기능을 제공하는 패턴입니다.

 

구조 패턴의 종류

 

* 어댑터(Adapter)

* 브리지(Bridge)

* 컴포지트(Composite)

* 데코레이터(Decorator)

* 퍼사드(facade)

* 플라이웨이트(Flyweight)

* 프록시(Proxy)

 

 

3. 행위(행동) 패턴

 객체나 클래스 사이의 알고리즘이나 책임 분배에 관한 패턴입니다. 한 객체가 혼자 수행할 수 없는 작업을 여러 개의 객체로 어떻게 분배하는지, 객체 사이의 결합도를 최소화 하는 것에 중점을 두는 패턴입니다.

 

행위 패턴의 종류

 

* 책임 연쇄(Chain of Responsibility)

* 커맨드(Command)

* 인터프리터(Interpreter)

* 이터레이터(Iterator)

* 미디에이터(Mediator)

* 메멘토(Memento)

* 옵저버(Observer)

* 스테이트(State)

* 스트레이트지(Strategy)

* 템플릿 메서드(Template Method)

* 비지터(Visitor)

 

 

 

출처 - https://developercc.tistory.com/17

 

[Design Pattern] 디자인 패턴 이해 목적 및 사용 이유

디자인 패턴이란 디자인 패턴이란 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 또 발생했을 때 재사용할 수 있는 훌륭한 해결책이다. 디자인 패턴을 사용해 문제를

developercc.tistory.com