Strategy Pattern 2

DI - strategy pattern, decorator pattern, proxy pattern & AOP

DI 의 끝을 모르겠다 ... DI (Dependency Injection) 는 STRATEGY PATTERN(전략 패턴) 이다.. 스프링 프레임워크의 모든 것의 중심엔 언제나 DI가 있다. DI는 확장 포인트 임과 동시에 DI에 또 다른 패턴을 적용함으로써 동적으로 특정 행동을 추가할 수 도 있고, 변경할 수도 있다. 데코레이터 패턴을 잠깐 생각해보자.. InputStream is = new BufferedReaderInputStream(new FileInputStream()); 이는 일종의 생성자를 이용한 DI라고 이해하면 된다. 생성자를 이용한 DI를 통해 특정 기능을 동적으로 추가해주고 있는 것이다. 프록시 를 살펴보자. class HelloProxy{ Hello hello; public void..

스트래티지 패턴

변할수 있는 행동(메소드) - 알고리즘군 - 을 캡슐화하고, 캡슐화된 인터페이스를 구현한 각각의 행동클래스를 만든다. 이로인해 , 변할수있는 행동이 따로 분리 되고, 캡슐화하여 구현했기 때문에 , 매우 유연하고 느슨한 결합도(loose coupling)를 갖도록 설계가 가능하다. 슈퍼클래스가 캡슐화된 인터페이스를 포함하고, setter메소드(인터페이스 i)를 만들어 슈퍼클래스의 자손클래스에서 해당 인터페이스를 구현한 클래스라면 언제든지,무엇이든지 행동을 변경할 수 있다. 그리고 만들어놓은 행동클래스를 다른객체에서도 재사용할수있다. 또 기존의 행동클래스를 수정하거나 슈퍼클래스를 수정하지않아도 새로운 행동을 추가 할수있다.