Search

프로그래밍 패턴

개요

프로그래밍 패턴은 소프트웨어 개발에서 반복적으로 발생하는 문제를 해결하기 위해 사용되는 일반적인 해결책입니다. 디자인 패턴, 아키텍처 패턴, 알고리즘 패턴 등 다양한 패턴이 존재합니다. 이러한 패턴들은 개발자들이 코드를 작성할 때 더 나은 구조와 유지보수성을 제공하며, 코드의 재사용성을 높여줍니다.

종류

디자인 패턴

디자인 패턴은 소프트웨어 디자인에서 발생하는 문제를 해결하기 위한 패턴입니다. 디자인 패턴은 크게 생성 패턴, 구조 패턴, 행동 패턴으로 나눌 수 있습니다.

생성 패턴

추상 팩토리 패턴
빌더 패턴
팩토리 메소드 패턴
프로토타입 패턴
싱글톤 패턴

구조 패턴

어댑터 패턴
브리지 패턴
컴포지트 패턴
데코레이터 패턴
퍼사드 패턴
플라이웨이트 패턴
프록시 패턴

행동 패턴

책임 연쇄 패턴
커맨드 패턴
인터프리터 패턴
이터레이터 패턴
미디에이터 패턴
메멘토 패턴
옵서버 패턴
스테이트 패턴
전략 패턴
템플릿 메소드 패턴
비지터 패턴

아키텍처 패턴

아키텍처 패턴은 소프트웨어 아키텍처에서 발생하는 문제를 해결하기 위한 패턴입니다. 아키텍처 패턴은 크게 계층형 패턴, 이벤트 기반 패턴, 마이크로서비스 패턴으로 나눌 수 있습니다.

계층형 패턴

모노리스 아키텍처 패턴
클라이언트-서버 아키텍처 패턴
마이크로커넥터 아키텍처 패턴

이벤트 기반 패턴

이벤트 드리븐 아키텍처 패턴
스트림 프로세싱 아키텍처 패턴

마이크로서비스 패턴

API 게이트웨이 패턴
서킷 브레이커 패턴
서비스 메시 패턴

알고리즘 패턴

알고리즘 패턴은 알고리즘에서 발생하는 문제를 해결하기 위한 패턴입니다. 알고리즘 패턴은 크게 브루트포스 패턴, 그리디 패턴, 분할정복 패턴, 동적프로그래밍 패턴으로 나눌 수 있습니다.

브루트포스 패턴

백트래킹 패턴

그리디 패턴

다익스트라 알고리즘 패턴

분할정복 패턴

병합정렬 알고리즘 패턴
퀵소트 알고리즘 패턴

동적프로그래밍 패턴

피보나치 수열 알고리즘 패턴

참고자료

종류
패턴명
설명
디자인 패턴
추상 팩토리 패턴
관련성이 있는 여러 객체를 일관성 있는 방식으로 생성하는 패턴
디자인 패턴
브리지 패턴
추상화한 계층과 구현체 계층을 연결하는 패턴
아키텍처 패턴
마이크로커넥터 아키텍처 패턴
독립적인 서비스로 구성된 애플리케이션을 만드는 패턴
알고리즘 패턴
피보나치 수열 알고리즘 패턴
피보나치 수열을 계산하는 알고리즘