반응형
Singleton
- 프로그램 내에서 1번만 생성되는 객체
- private 생성자
- static 자기자신
- pubic 으로 get하여 자기자신 객체 사용
- 인터페이스의 사용, lazy-loading 에 사용
- 멀티쓰레드에서 주의 필요
Strategy
- 모드(같은일) 변경
- 동작들을 모듈화(특정 인터페이스를 상속)하여, 실행될 모듈을 갈아끼고 실행
- 구현체 set 이후에 동작실행
State
- 상태 변경
- 상태들을 모듈화 하여, 실행시 각 모듈의 상태를 변경하며 실행
- 동작을 실행하면, set이 실행되며 상태(구현체)가 변경
Command
- 모드(다른일) 변경
- 위와 비슷
Adapter
- 인터페이스가 다른 객체끼리 같은 일을 할 수 있도록
- 어탭터를 공동 인터페이스로 구현, 다른일을 하고 있는 객체를 가지고, 변환 함수를 구현
- 어탭터에 달랏던 객체를 set하고, 공통으로 사용가능
Proxy
- 대리인 객체를 할당하여, 작은일엔 대리인이 적용되고
- 중요하거나, 큰작업이 필요할때 실제 클래스를 생성
- 대리인 객체에 실제 객체를 포함
- 작은 일은 대리인 객체가 직접실행
- 큰일은 포함된 실제 객체를 초기화하여 실행
Facade
- 여러 클래스를 사용하는 동작이 여러번 등장한다면
- 해당 작업을 수행하는 클래스를 만들어서 사용
Template-method
- 같은 형식을 지닌 특정 작업들의 세부 방식을 다양화하고자 할 때
- 고정된 프로세스 전체 과정 + 세부 과정 override할 수 있는 abstract class
Decorator
- 객체가 생성자 변수로 다른 객체 안에 들어감으로써 그 실행하는 메소드의 행동이 추가되는 것
- 생성자 안에 들어가면, super()로 객체를 가져오고
- 원하는 행동시 super.func() 실행 후, 추가 함수 실행
Factory-method
- 팩토리에서 특정 값(eunm)으로 분기하여 각각의 클래스를 생성하여 리턴
- 생성자 변경시 팩토리 내부만 변경가능
- 모든 기능을 전부 알 필요없이 조건만 넘겨주면 적절한 클래스를 넘겨줌
Abstract-factory
- 팩토리들을 묶을 수 있는 인터페이스를 생성하여
- 팩토리들을 총괄 관리
Mediator
- 한 객체에서 특정 이벤트가 발생할때마다 연결된 다른 클래스에 알릴때
- 추상화된 이벤트들을 관리하는 중개자를 생성하여
- 실제 객체는 중개자에를 이용하여 이벤트를 추가/관리
- 여러 클래스의 관계가 특정 이벤트 중심으로 복잡하게 얽혀있을 때 유용
Composite
- 폴더 시스템
- 포함하는 것과 포함되는것들이 같은 방식으로 다뤄질 때
728x90
반응형
댓글