디자인 패턴
본문 바로가기
CS/디자인 패턴

디자인 패턴

by IYK2h 2023. 1. 11.
728x90

소프트웨어 디자인에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다. 특정한 상황에 맞게 사용될 수 있는 구조적 문제들을 해결하는데 쓰이는 서술이나 템플릿.

http://best-practice-software-engineering.ifs.tuwien.ac.at/patterns/images/pattern_map.jpg

디자인 패턴은 외우기보다는 어떠한 패턴이 있는지 알고 수많은 디자인 패턴에서 다양한 코딩 노하우를 습득하는것이 중요하다고 생각합니다. "이 코드에는 무조건 이 패턴을 적용시킬거야!" 이것이 아니라 여러가지 패턴이 자연스럽게 내 코드에 녹아드는것이 좋다고 생각합니다.

출처 : https://coding-factory.tistory.com/708

즉, 모든 곳에 패턴을 적용하려고 하면 안 된다.

 

디자인 패턴의 종류

  1. 생성(Creational) 패턴
    • 객체 생성에 관련된 패턴
    • 객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공
  2. 구조(Structural) 패턴
    • 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴
    • 예를 들어 서로 다른 인터페이스를 지닌 2개의 객체를 묶어 단일 인터페이스를 제공하거나 객체들을 서로 묶어 새로운 기능을 제공하는 패턴이다.
  3. 행위(Behavioral) 패턴
    • 클래스와 객체들이 상호작용하는 방법과 역할 분담하는 방법을 다루는 패턴
    • 체가 혼자 수행할 수 없는 작업을 여러 개의 객체로 어떻게 분배하는지, 또 그렇게 하면서도 객체 사이의 결합도를 최소화하는 것에 중점

 

생성 패턴 구조 패턴 행동 패턴
싱글톤 (Singleton) 어댑터 (Adapter) 책임 연쇄 (Chain-of-Responsibility)
팩토리 메소드 (Factory Method) 브릿지 (Bridge) 커맨드 (Command)
추상 팩토리 (Abstract Factory) 컴포짓 (Composite) 인터프리터 (Interpreter)
빌더 (Builder) 데코레이터 (Decorator) 이터레이터 (Iterator)
프로토타입 (Prototype) 퍼사드 (Facade) 중재자 (Mediator)
  플라이웨이트 (Flyweight) 메멘토 (Memento)
  프록시 (Proxy) 옵저버 (Observer)
    상태 (State)
    전략 (Strategy)
    템플릿 메소드 (Template Method)
    비지터 (Visitor)

 

 

 

 

'CS & 개녕 정리/디자인 패턴' 카테고리의 글 목록

안녕하세요. 하루에 2시간씩 꾸준히 하자는 의미로 만든 블로그입니다. 꾸준히 활동하겠습니다. 감사합니다.

iyk2h.tistory.com

 

728x90

'CS > 디자인 패턴' 카테고리의 다른 글

팩토리 패턴(factory pattern)  (0) 2023.01.13
싱글톤 패턴 (Singleton)  (0) 2023.01.12
MVC pattern  (0) 2021.07.02

댓글