개요
프로그래밍 패턴은 소프트웨어 개발에서 반복적으로 발생하는 문제를 해결하기 위해 사용되는 일반적인 해결책입니다. 디자인 패턴, 아키텍처 패턴, 알고리즘 패턴 등 다양한 패턴이 존재합니다. 이러한 패턴들은 개발자들이 코드를 작성할 때 더 나은 구조와 유지보수성을 제공하며, 코드의 재사용성을 높여줍니다.
종류
디자인 패턴
디자인 패턴은 소프트웨어 디자인에서 발생하는 문제를 해결하기 위한 패턴입니다. 디자인 패턴은 크게 생성 패턴, 구조 패턴, 행동 패턴으로 나눌 수 있습니다.
생성 패턴
•
추상 팩토리 패턴
•
빌더 패턴
•
팩토리 메소드 패턴
•
프로토타입 패턴
•
싱글톤 패턴
구조 패턴
•
어댑터 패턴
•
브리지 패턴
•
컴포지트 패턴
•
데코레이터 패턴
•
퍼사드 패턴
•
플라이웨이트 패턴
•
프록시 패턴
행동 패턴
•
책임 연쇄 패턴
•
커맨드 패턴
•
인터프리터 패턴
•
이터레이터 패턴
•
미디에이터 패턴
•
메멘토 패턴
•
옵서버 패턴
•
스테이트 패턴
•
전략 패턴
•
템플릿 메소드 패턴
•
비지터 패턴
아키텍처 패턴
아키텍처 패턴은 소프트웨어 아키텍처에서 발생하는 문제를 해결하기 위한 패턴입니다. 아키텍처 패턴은 크게 계층형 패턴, 이벤트 기반 패턴, 마이크로서비스 패턴으로 나눌 수 있습니다.
계층형 패턴
•
모노리스 아키텍처 패턴
•
클라이언트-서버 아키텍처 패턴
•
마이크로커넥터 아키텍처 패턴
이벤트 기반 패턴
•
이벤트 드리븐 아키텍처 패턴
•
스트림 프로세싱 아키텍처 패턴
마이크로서비스 패턴
•
API 게이트웨이 패턴
•
서킷 브레이커 패턴
•
서비스 메시 패턴
알고리즘 패턴
알고리즘 패턴은 알고리즘에서 발생하는 문제를 해결하기 위한 패턴입니다. 알고리즘 패턴은 크게 브루트포스 패턴, 그리디 패턴, 분할정복 패턴, 동적프로그래밍 패턴으로 나눌 수 있습니다.
브루트포스 패턴
•
백트래킹 패턴
그리디 패턴
•
다익스트라 알고리즘 패턴
분할정복 패턴
•
병합정렬 알고리즘 패턴
•
퀵소트 알고리즘 패턴
동적프로그래밍 패턴
•
피보나치 수열 알고리즘 패턴
참고자료
종류 | 패턴명 | 설명 |
디자인 패턴 | 추상 팩토리 패턴 | 관련성이 있는 여러 객체를 일관성 있는 방식으로 생성하는 패턴 |
디자인 패턴 | 브리지 패턴 | 추상화한 계층과 구현체 계층을 연결하는 패턴 |
아키텍처 패턴 | 마이크로커넥터 아키텍처 패턴 | 독립적인 서비스로 구성된 애플리케이션을 만드는 패턴 |
알고리즘 패턴 | 피보나치 수열 알고리즘 패턴 | 피보나치 수열을 계산하는 알고리즘 |