본문 바로가기

JAVA/디자인 패턴

1. 디자인 패턴

디자인 패턴이란?

자주 사용하는 설계 패턴을 정형화 해서 이를 유형별로 가장 최적의 방법으로 개발을 할 수 있도록 정해둔 설계

알고리즘과 유사 하지만, 명확하게 정답이 있는 형태는 아니며, 프로젝트의 상황에 맞추어 적용.

 

Gof 디자인 패턴

소프트웨어를 설계 할 때는 기존에 경험이 매우 중요하다. 이러한 지식을 공유하기 위해서 나온 것이 GOF(Gang of Four)의 디자인 패턴이다. 객체지향 개념에 따른 설계 중 재사용할 경우 유용한 설계를 디자인 패턴으로 정리 해둔 것이다.

 

Gof의 디자인 패턴은 총 23개이다.

 

디자인 패턴의 장점

1. 개발자 간의 원활한 소통

2. 소프트웨어 구조 파악 용이

3. 재사용을 통한 개발 시간 단축

4. 설계 변경 요청에 대한 유연한 대처

 

디자인 패턴의 단점

1. 객체지향 설계/ 구현

2. 초기 투자 비용 부담

 

생성 패턴

객체를 생성하는 것과 관련된 패턴으로, 객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화 하고, 코드의 유연성을 높여 준다.

Factory Method

Singleton

Prototype

Builder

Abstract Factory

Chaining

 

구조패턴

프로그램 내의 자료구조나 인터페이스 구조 등 프로그램 구조를 설계하는데 활용 될 수 있는 패턴

클래스, 객체들의 구성을 통해서 더 큰 구조를 만들 수 있게 해준다.

큰 규모의 시스템에서는 많은 클래스들이 서로 의존성을 가지게 되는데, 이런 복잡한 구조를 개발 하기 쉽게 만들어 주고, 유지 보수 하기 쉽게 만들어 준다.

Adapter

Composite

Bridge

Decorator

Facade

Flyweight

Proxy

 

행위 패턴

반복적으로 사용되는 객체들의 상호작요을 패턴화한 것, 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 제공 한다. 행위 패턴은 행위 관련 패턴을 사용하여 독립적으로 일을 처리하고자 할 때 사용.

Observer

Strategy

State

Memento

 

 

'JAVA > 디자인 패턴' 카테고리의 다른 글

6. 옵저버 패턴  (0) 2022.06.29
5. 데코레이터 패턴  (0) 2022.06.25
4. 프록시(Proxy) 패턴  (0) 2022.06.25
3. 어뎁터 패턴  (0) 2022.06.24
2. 싱글톤 패턴  (0) 2022.06.24