전략패턴은 특정한 계열의 알고리즘을 정의하고, 각 알고리즘을 캡슐화하여 실행 중에 알고리즘을 선택할 수 있게하는 디자인 패턴이다.특정 매매 전략을 가지고 투자하는 투자자가 있다고 가정하자.또 다른 전략 B가 추가되어 투자자에 따라 각기 다른 전략을 사용해야 한다고 한다
옵저버 패턴은 한 객체의 상태가 바뀌면 그 객체에 의존하는 하나 이상의 객체들에게 변경된 상태가 전파되며 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의한다.주식 정보를 구독하는 구독자들이 있다.구독자들은 주식 정보의 상태에 따라 각기 다른 방식으로 대처를 해야
데코레이터 패턴은 객체의 결합 을 통해 기능을 동적으로 유연하게 확장 할 수 있게 해주는 패턴으로, 기본 기능에 추가할 수 있는 기능의 종류가 많은 경우에 각 추가 기능을 Decorator 클래스로 정의 한 후 필요한 Decorator 객체를 조합함으로써 추가 기능의
팩토리 패턴은 객체에 생성과 관련된 부분을 별도의 객체에게 위임함으로서 책임을 분배하는 패턴이다.이는 팩토리 메서드 패턴과 추상 팩토리 패턴으로 나뉘기도 하는데, 결국 객체의 생성을 위임한다는 목적은 같으나 상황에 따른 구현 방식의 차이만 있을 뿐이다.다양한 피자를 만
커맨드 패턴은 특정 기능을 캡슐화 하고 그 기능을 사용하는 객체가 기능의 추상화에 의존하게 함으로서 기능의 추가나 변경에 대해 유연하게 대처 가능하도록 하는 디자인 패턴이다.조명의 on/off가 가능한 리모콘을 만든다고 가정하자.이 설계에서 리모콘 기능을 확장하여 티비
어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴으로, 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화 할 때 유용하다.커피와 홍차 만드는 법