* 주관적인 생각이 포함된 포스팅입니다.
디자인 패턴
객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴.
유지보수와 확장이 쉬운 설계를 할 때 주로 SOLID 법칙을 적용해야 한다고 들한다.
내가 알기론 디자인 패턴은 이 SOLID 원칙은 준수하여 제시된 설계 패턴인 것으로 알고 있다. SOLID 원칙이 도구라면 디자인 패턴은 결과물인 셈?
SOLID 원칙을 되새기며 설계할 필요 없이 디자인 패턴을 적용하면 된다는 것!
디자인 패턴은 패턴 카탈로그에서 제시한 생성, 행동, 구조라는 3가지로 용도에 따라 분류가 가능하다.
생성패턴: 객체 인스턴스를 생성하는 패턴으로, 클라이언트와 그 클라이언트가 생성해야 하는 객체 인스턴스 사이의 연결을 끊어주는 패턴
행동패턴: 클래스와 객체들이 상호작용하는 방법과 역할을 분담하는 방법을 다루는 패턴
구조패턴: 클래스와 객체를 더 큰 구조로 만들 수 있게 구성을 사용하는 패턴
이 세가지로 분류된 패턴유형의 범주 안에서 클래스에 적용하는 지, 객체에 적용하는 지에 따라서 한번 더 분류가 가능하다.
이렇게 분류된 디자인 패턴은 다음과 같다.
생성 | 행동 | 구조 |
객체: - 추상 팩토리 - 싱글턴 - 빌더 - 프로토 타입 클래스: - 팩토리 메소드 |
객체: - 중재자 - 비지터 - 반복자 - 싱글턴 - 메멘토 - 옵저버 - 역할 변경 - 상태 - 전략 클래스: - 템플릿 메소드 - 인터프리터 |
객체: - 어댑터 - 데코레이터 - 프록시 - 컴포지트 - 퍼사드 - 플라이웨이트 - 브리지 클래스: - 어댑터 |
참고: https://m.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS8616098823
자세한 설명은 이쪽 블로그에 자세하게 나와있다.. 내용을 가져오긴 뭐하니,, 주소를 첨부하겠다.
https://4z7l.github.io/2020/12/25/design_pattern_GoF.html
'OOP > Design Pattern' 카테고리의 다른 글
05. 프로토타입(Prototype) 패턴 (0) | 2023.02.13 |
---|---|
04. 빌더(Builder) 패턴 (0) | 2023.02.13 |
03. 추상 팩토리(Abstract Method) 패턴 (0) | 2023.02.13 |
02. 팩토리 메서드(Factory Method) 패턴 (0) | 2023.02.13 |
01. 템플릿 메소드(Template Method) 패턴 (0) | 2023.01.26 |