본문 바로가기

카테고리 없음

Decorator Pattern

반응형

1.데코레이터 패턴 정의 (Decorator pattern)

-객체를 동적으로 서브클래스를 이용해 기능을 유연하게 확장할수 있는 방법을 제공 

-클래쓰를 써서 기능을 확장하는 방법,프로그램을 실행하는 중에도 객체를 확장시킬수 있는 패턴 

-런타임에 객체의 기능을 추가하기 위하여 사용


2.예제

http://jdm.kr/blog/78


이 패턴은  매번 오버라이드된 메서드에 새로운 기능이 추가될 때마다(새로운 데코레이터로 감쌀때마다), 여러개의 데코레이터들이 스택처럼 쌓일 수 있게 설계한다.


3.데코레이터 패턴이 많이 보이는 자바 api는 파일 i/0 관련 부분 

* read file example */
BufferedReader br = new BufferedReader(new FileReader(new File("test.txt")));
-다른 객체에 영향을 주지 않으면서, 동적으로 개개의 객체에 다른 역할을 추가 시키고자 할 때
- 객체의 역할을 동적으로 늘이거나 줄이고자 할 때




4.장점 :유연하게 기능을 확장시킬수있다( 상속보다는 더 융통성이 좋아짐)

 예: http://palpit.tistory.com/193


5.단점:대신 각각 데코레이터 클래스들이 어떤 기능을 수행하는지 알고있어야한다,

         자잘한 클래스들이 많이생기는 것



반응형