디자인 패턴이란

구름코딩·2020년 10월 23일

Java 디자인 패턴

목록 보기
2/12

디자인 패턴

소프트웨어 개발 방법에서 사용되는 디자인 패턴은 프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 과거의 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여 이름을 붙여, 이후에 재이용하기 좋은 형태로 특정의 규약을 묶어서 정리한 것이다. 알고리즘과 같이 프로그램 코드로 바로 변환될 수 있는 형태는 아니지만, 특정한 상황에서 구조적인 문제를 해결하는 방식을 설명해 준다.

이 용어를 소프트웨어 개발 영역에서 구체적으로 처음 제시한 곳은 GoF(Gang of Four)
라 불리는 네명의 컴퓨터 과학 연구자들이 쓴 서적 'Design Patterns: Elements of
Reusable Object-Oriented Software'(재이용 가능한 객체지향 소프트웨어의 요소 - 디
자인 패턴)이다.

GoF의 디자인 패턴 정리

여기서 정리할 대표적인 디자인패턴

  • Builder

    • 처리 로직과 구현부를 분리한다
    • 객체 생성을 편리하게 해준다
  • Factory Method

    • 추상 클래스쪽에서 인스턴스 생성과 이용메서드를 정의한다
    • 프레임워크와 구현부를 분리해준다
  • Singleton

    • 1개의 인스턴스만을 보증한다
    • 1개의 인스턴스를 전제로 하는 개발이 가능하다
  • Adapter

    • Wrapper클래스
    • 서로 다른 시스템의 클래스를 다른쪽에서 사용할 수 있다
  • Decorator

    • 객체를 감싸서 다른 인터페이스를 제공한다
    • 추가 기능의 조합을 기능의 무한 확장하는 것이 가능하다
  • Command

    • 명령을 객체로 표현하고 실행한다
    • Queue, Stack을 활용하여 작업 이력을 관리, 실행한다
  • Memento

    • 상태의 저장, 복원
    • 캡슐화를 유지하며 상태를 저장,복원 한다
  • Observer

    • 상태변화를 통지하고 처리한다
    • 비동기 처리가 가능하게 해준다
  • Startegy

    • 알고리즘 분리 용도
    • 알고리즘을 교체 가능하게 해준다
  • Template Method

    • 상속
    • 처리의 단순화 목적이다
profile
내꿈은 숲속의잠자는공주

0개의 댓글