
singleton pattern
- 여러 클래스에서 같은 값이 적용되게 할 수 있는 singleton을 만들어 여러 클래스에서 하나의 값만 고정되게 사용할 수 있게 만든다.
Strategy pattern
- 전략패턴
- 프로그램 실행 중 모드가 바뀔 때마다 전략이 수정된다.
State pattern
- Strategy와 비슷하다.
- 특정 상태마다 다르게 할 일을 나아가서 그 상태들 자체를 그 상태마다 실행시 할 일과 함께 하나하나 모듈화 해서 지정해둘 때 쓰인다.
Command pattern
- Strategy와 비슷하다. 근본적인 차이는 전략 패턴은 같은 일을 하되 그 알고리즘이나 방식이 갈아끼워지는 거라면 Command pattern은 그 하는 일 자체가 다르다.
- Strategy pattern처럼 모드 변경에 따라 명령을 갈아끼워넣는 식으로 작성하기도 하고 위키피디아의 커맨드 패턴 항목에 나오는 예제처럼 스위치를 올릴 때와 내릴 때에 각각 다른 명령을 심어주는 식으로 짤 수도 있고 여러 명령들을 목록으로 실어보내서 차례로 실행 시킬 수도 있다.
Adapter pattern
- 형식이 다른 둘 사이에 연결돼서 이 둘이 호환될 수 있도론 해주는 도구.
- 객체지향 프로그래밍에서 어답터는 보통 인터페이스가 서로 다른 객체들이 같은 형식 아래 작동할 수 있도록 하는 역할.
proxy pattern
- 대리인 패턴
- 객체로 여럿 생성하기 부담되는 클래스의 Proxy 대리자 역할을 하는 클래스를 따로 두어서 가벼운 일은 대리자 클래스가 처리하게 한다.