반응형
1.데코레이터 패턴 정의 (Decorator pattern)
-객체를 동적으로 서브클래스를 이용해 기능을 유연하게 확장할수 있는 방법을 제공
-클래쓰를 써서 기능을 확장하는 방법,프로그램을 실행하는 중에도 객체를 확장시킬수 있는 패턴
-런타임에 객체의 기능을 추가하기 위하여 사용
2.예제
이 패턴은 매번 오버라이드된 메서드에 새로운 기능이 추가될 때마다(새로운 데코레이터로 감쌀때마다), 여러개의 데코레이터들이 스택처럼 쌓일 수 있게 설계한다.
3.데코레이터 패턴이 많이 보이는 자바 api는 파일 i/0 관련 부분
* read file example */ BufferedReader br = new BufferedReader(new FileReader(new File("test.txt")));
-다른 객체에 영향을 주지 않으면서, 동적으로 개개의 객체에 다른 역할을 추가 시키고자 할 때
- 객체의 역할을 동적으로 늘이거나 줄이고자 할 때
4.장점 :유연하게 기능을 확장시킬수있다( 상속보다는 더 융통성이 좋아짐)
예: http://palpit.tistory.com/193
5.단점:대신 각각 데코레이터 클래스들이 어떤 기능을 수행하는지 알고있어야한다,
자잘한 클래스들이 많이생기는 것
반응형