facade pattern
- facade 는 프랑스어로 '외벽' 을의미하며 재사용하는 코드를 외벽으로 감싸서 다른 클래스에서 사용할때 스위치만 누르면 되도록 코드를 짜는 방식
Template-method
- 다양화된 방식을 각각 자식 클래스에서 오버라이딩해서 사용하는 방식
- 템플릿 메서드는 일정 형식이 존재 -> 부모클래스에 메인 메소드가 있고 그 과정에 세부 메서드가 존재하며, 자식클래스가 그 세부 과정을 바꿔서 사용하는 것.
부모가 약과를 만드는 법의 전체 과정을 가지고있고 자식 클래스는 전체 과정을 바꿀 수는 없으니 세부적인 것들은 자신만의 스타일로 바꾼다.
- 전체 과정은 같으나 세부적인 내용이 바뀔경우 사용되는 패턴
- 어떤일 수행하기위해 몇가 방법이 존재하는데 그중 공통된 절차가 있으면 코드를 효율적으로 짜기 위해 사용한다.
Decorator pattern
- 객체가 생성자 변수로 다른 객체 안에 들어감으로써 그 실해하는 메소드의 행동을 추가 되도록하는 것.
Factory-method
- 사용할 객체들의 조건을 넘겨줄 경우 이에 적절한 클래스를 찾아서 객체로 생성해 넘겨주는 역할
Abstract-factory-method 패턴
- 팩토리 메서드에서 좀 더 추상화된 패턴
- 기본 팩토리를 추상클래스나 인터페이스로 만들고 , 이를 상속한 테마마다 팩토리를 둬서 처음부터 어떤 팩토리를 세우냐에따라서 찍혀나오는 요소의 테마가 달라지게 할 수있다.
- 특정 이벤트에 반응해서 관련된 다른 클래스에 알려주는 것
- 여러클래스들의 관계가 특정 이벤트들을 중심으로 복잡하게 얽힌 설계에서 유용하게 사용될 수있다.
Composite 패턴
- 포함하는 것들과 포함되는 것들이 같은 방식으로 다뤄질수 있도록 할때 사용되는 패턴