본문 바로가기
CS공부

[디자인패턴] 디자인패턴의 종류

by 측면삼각근 2023. 9. 7.
728x90
반응형

이 포스팅은 깊고 꼼꼼한 정리를 위한 글이 아니며, 디자인 패턴에 전반적인 큰 맥락 정리를 위한 포스팅입니다.


디자인 패턴

디자인 패턴이란, 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은것.

  • 바퀴를 다시 발명하지 마라
    -> 이미 만들어져 잘 되는것을 처음부터 다시 만들 필요는 없다.

디자인패턴의 종류

  1. 생성(Creational) 패턴
    • 객체 생성에 관련된 패턴
    • 객체의 생성과 조합을 캡슐화해, 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공한다.
  2. 구조(Structural) 패턴
    • 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴
    • 서로 다른 인터페이스를 지닌 2개의 객체를 묶어 단일 인터페이스를 제공하거나, 객체들을 서로 묶어 새로운 기능을 제공하는 패턴
  3. 행위(Behavioral) 패턴
    • 객체나 클래스 사이의 알고리즘이나 책임 분배에 관련된 패턴
    • 결합도를 최소화 하는것에 중점
    • 객체(클래스) 사이의 알고리즘이나 책임 분배에 관련된 패턴
생성(Creational) 패턴 구조(Structural) 패턴 행위(Behavioral) 패턴
추상 팩토리(Abstract Factory) 어뎁터(Adater) 책임연쇄(Chain of Responsibility)
빌더(Builder) 브리지(Brige) 커멘드(Command)
팩토리 메서드(Factory Method) 컴퍼지트(Composite) 인터프리터(Interpreter)
프로토타입(Prototype) 테코레이터(Decorator) 미디에이터(Mediator)
싱글턴(Singleton) 퍼사드(Facade) 메멘토(Memeto)
  플라이웨이트(Flyweight) 옵저버(Observer)
  프록시(Proxy) 전략(Strategy)
    테이트(State)
    템플릿 메서드(Template Method)
    비지터(Visitor)
반응형