디자인 패턴 Design Pattern

Intro

  • 디자인 패턴에 대한 이해

디자인 패턴이란?

객체 지향 프로그래밍을 설계할 때 자주 발생하는 문제들을 해결하기 위한 해결책

디자인 패턴의 분류

생성 패턴 (Creational Pattern)

객체 인스턴스 생성을 위한 패턴으로, 객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공한다.

종류 : 싱글턴, 팩토리 메소드, 추상 팩토리, 프로토타입, 빌더패턴

행동 패턴 (Behavioral Pattern)

클래스와 객체들이 상호작용하는 방법 및 역할을 분담하는 방법에 대한 패턴

종류 : 스트래티지, 옵저버, 스테이트, 커맨드, 이터레이터, 템플릿 메소드, 인터프리터, 미디에이터, 책임연쇄, 메멘토, 비지터

구조 패턴 (Structural Pattern)

클래스 및 객체들을 구성을 통해 더 큰 구조로 만들 수 있게 하는 패턴

종류 : 데코레이터, 어댑터, 컴포지트, 퍼사드, 프록시, 브리지, 플라이웨이트

클래스, 객체 패턴으로 분류

클래스 패턴 (Class Patern)

클래스 사이의 관계가 상속을 통해 어떤 식으로 정의되는지를 다룬다. 클래스 패턴은 컴파일시에 관계가 결정

종류 : 템플릿 메소드, 팩토리메소드, 어댑터, 인터프리터

객체 패턴 (Object Pattern)

객체 사이의 관계를 다루며, 객체 사이의 관계는 보통 구성을 통해서 정의된다. 객체 패턴에선느 일반적으로 실행 중에 관계가 생성되기 때문에 더 동적이고 유연하다.

종류 : 스트래티지, 옵저버, 데코레이터, 프록시, 컴포지트, 이터레이터, 스테이트, 추상 팩토리, 싱글턴, 비지터, 메멘토, 책임 연쇄, 브리지, 미디에이터, 플라이웨이트, 프로토타입, 빌더

참고자료

https://hyeonstorage.tistory.com/100

https://gmlwjd9405.github.io/2018/07/06/design-pattern.html

https://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%EB%94%94%EC%9E%90%EC%9D%B8%ED%8C%A8%ED%84%B4

댓글남기기