본문 바로가기
IT/Knowledge

디자인패턴 정의와 종류

by 성준하이 2022. 1. 14.
반응형

소프트웨어 개발을 할때 사용되는 디자인 패턴이란 과거에 소프트웨어 개발 과정에서 발견된 설계 노하우를 축적하여 그 방법에 이름이 붙여서 이후에 재사용 하기 좋은 형태로 특정 규약을 만들어서 정리해둔것을 말한다.

 

즉 효율적으로 알고리즘을 만들고 코드를 만들기 위한 방법론이라고 생각하면 될듯하다.

특정 한두개의 패턴을 외우기 보다는 다양하게 이해를 하고 적시적소에 맞게 자신의 코드에 녹여내면 될듯 하다.

 

종류는 대분류로는 생성패턴, 구조패턴, 행위 패턴으로 나뉘고 몇가지만 살펴보면,

 

생성패턴에서는 

가장 유명한 디자인패턴인 싱글톤 패턴이 있다.

클래스의 인스턴스가 하나임을 보장하고 접근할수 있는 전역적인 접근점을 제공한다.

그리고 또다른 유명한 패턴은 추상팩토리 패턴이다.

구체적인 클래스를 지정하지 않고 관련이 있거나 독립적인 객체를 생성하기 위해 인터페이스를 제공하는 패턴이다.

 

구조패턴으로는

적응자 패턴 - 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴이다.

호환성이 없는 인터페이스이기에 함께 동작할수 없는 클래스들이 함께 작동하도록 해준다.

브릿지 패턴 - 구현부에 추상층을 분리하여 각자 독립적으로 변형가능한 패턴.

 

행위패턴

옵저버 패턴 - 객체들 사이에 1:N의 의존관계를 정의하여 어떤 객체가 상태가 변활때 의존관계에 있는 모든 객체들이 자동으로 갱신하도록 하는 패턴

 

등이 있다.

너무 많은 패턴들이 있어서 다 다루진 못하였지만 몇가지만 알고 넘어가고 필요시에 적합한 패턴을 찾아서 사용을 하면 되겠다.

 

반응형

'IT > Knowledge' 카테고리의 다른 글

온프레미스 / 오프프레미스란?  (18) 2022.01.18
ORM ( Object-Relational Mapping) 설명 및 소개  (10) 2022.01.15
What is the kubernetes?  (9) 2022.01.13
Docker란?  (10) 2022.01.12
Multi-Tenancy 란?  (15) 2022.01.10

댓글