Singleton

어떤 클래스의 객체가 해당 프로세스에서 딱 하나만 만들어져 있어야 할 때 사용

Strategy

프로그램 실행 중 모드가 바뀔 때마다 해당 모듈에 맞는 시나리오가 이루어지는 방식

State

특정 상태마다 다르게 할 일을, 나아가서 그 상태들 자체를 그 상태마다 실행시 할 일과 함께 하나하나 모듈화 해서 지정해둘 때 쓰임
(메서드가 실행될 때 해당 모드도 전환되도록 하는 패턴.)

Command

모드 변경에 따라 명령을 갈아끼울수도 있고
스위치를 올릴때와 내릴때 각각 다른 명령을 심어줄 수도 있고
여러 명령들을 목록으로 실어보내서 차례로 실행할 수도 있음.

Adapter

인터페이스가 서로 다른 객체들이 같은 형식 아래 작동할 수 있도록 하는 역할을 말함.

Proxy

객체를 여럿 생성하기 부담스러운 클래스에 대해 대리인 역할을 하는 클래스를 두고, 간단한 작업은 대리 클래스가 하고 필수적인 작업만 실제 클래스가 수행하도록 하는 것.

Facade

여러 클래스의 작업들을 복합적으로 사용해야 수행할 수 있는 작업들을 하나의 클래스 안의 메소드로 만들어서 작업 실행을 간단하게 하는 것.

Template-method

어떤 같은 형식을 지닌 특정 작업들의 세부 방식을 다양화할 때 사용.

Decorator

특정 클래스의 객체들이 할 수 있는 일을 여러가지 두고 각 객체마다 사용자가 원하는대로 선택해 수행하거나 기능들을 필요에 따라 장착할 수 있도록 하는 패턴.

Factory-method

특정 종류의 기능들에 사용될 수 있는 클래스들의 종류가 많고 복잡할 때, 이를 사용하는 개발자가 사용할 객체의 조건들만 매개 변수로 넘겨주면 이에 적절한 클래스를 찾아 객체로 반환하는 역할을 수행할 일종의 팩토리를 만들어 사용하는 패턴.

Abstract-factory

팩토리 메서드 패턴에서 한 단계 더 추상화가 입혀진 패턴
특정 객체를 찍어낼 공장(팩토리)를 여러 종류로 건설할 수 있도록 함.

Mediator

어떤 클래스의 객체에서 특정 이벤트가 발생할 때마다 연결된 다른 클래스들에 알려야 하는 경우에 중재자 역할을 하는 클래스에 전담하도록 하는 패턴

Composite

폴더나 파일같이 포함하거나 포함되는 것들이 같은 방식으로 다뤄질 수 있도록 하는 패턴

profile
문제 해결을 위해 끊임없이 파고드는 걸 좋아합니다.

0개의 댓글