코딩 공부
디자인 패턴 본문
흔히, 프로그래밍을 공부하다보면 디자인 패턴을 공부한다는 소리를 종종 듣기도 한다.
나 또한, 디자인 패턴을 공부하며 얻은 지식을 정리해보고자 한다.
디자인 패턴
디자인 패턴은 소프트웨어 디자인에서 자주 발생하는 문제에 대한 "해결책"을 재사용 가능한 형태로 정리한 것이다.
디자인 패턴은 프로그래밍에서 특정한 상황이나 문제에 대한 일반적인 해결 방법을 제시하며, 소프트웨어 개발에서 품질과 유지보수성을 향상시키기 위해 사용된다.
코드 재사용과 유지보수성 특성에 따라, 디자인 패턴은 주로 객체지향 프로그래밍에서 사용된다는 것을 유추해볼 수 있다.
디자인 패턴은 크게 3가지 유형으로 나뉜다.
1. 생성 패턴(Creational Patterns)
: 객체의 생성 메커니즘을 다루는 패턴으로, 객체가 생성되거나 초기화되는 방식을 제어한다.
대표적으로 싱글톤(Singleton), 팩토리 메소드(Factory Method), 추상 팩토리(Abstract Factory)가 있다.
2. 구조 패턴(Structural Patterns)
: 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴으로, 클래스나 객체의 구성을 통해 새로운 기능을 제공한다.
예로는 어뎁터(Adapter), 데코레이터(Decorator), 컴퍼지트(Composite) 등이 있다.
3. 행위 패턴(Behavioral Patterns)
: 객체 간 협력과 책임 분배에 관련된 패턴으로, 알고리즘과 객체 간의 책임을 분산시킨다.
예를 들면, 옵저버(Observer), 스트래티지(Strategy), 커맨드(Command) 등이 있다.
디자인 패턴을 사용함으로써 개발자는 일반적인 문제에 대해 이미 검증된 해결책을 활용할 수 있으며, 코드의 가독성과 유지보수성을 향상시킬 수 있다. 하지만, 모든 상황에 대응하는 완벽한 패턴은 없으므로, 상황에 맞게 적절히 선택해야 한다.
디자인 패턴의 세부 내용으로는 다음과 같은 순서로 다뤄보도록 하겠다.
1. 싱글톤 패턴
2. 팩토리 패턴
3. 전략 패턴
4. 옵저버 패턴
5. 프록시 패턴과 프록시 서버
6. 이터레이터 패턴
7. 노출모듈 패턴
8. MVC 패턴
9. MVP 패턴
10. MVVM 패턴
잘못된 설명이 있을 경우, 지적해주시면 감사하겠습니다.
'CS 공부' 카테고리의 다른 글
정보처리기사 실기 C 공부 ② (0) | 2024.04.22 |
---|---|
정보처리기사 실기 C 공부 ① (2) | 2024.04.19 |
정보처리기사 실기 공부 ① (0) | 2024.04.17 |
디자인 패턴 - ① 싱글톤 패턴 (2) | 2024.01.22 |
라이브러리(Library) vs. 프레임워크(Framework) (0) | 2024.01.16 |