DesignPatterns에서 StructuralPatterns의 하나.
특정 객체를 감싸주는 decorator class를 만든다. 마치 해당 객체를 꾸며주는것과 같아서, decorator이고, 보통 decorator class의 생성자인수로 주인공 객체를 넣어준다.
내용물을 변경하지 않고 기능을 추가 할수 있다. 일종의 [Recursion]개념이 사용된다.
Structure
Example in our project
특정인에게 보내는 편지 : [DecoratorLetter.py] 디스플레이시 장식하기 : [DecoratorDisplay.java] FastaFormat 꾸미기 : [FastaDecorator.py]
java.io패키지에 DecoratorPattern이 사용되었다. 파일로부터 데이터를 읽을때
Reader reader = new FileReader("data.txt");
Reader reader = new BufferedReader(
new FileReader("data.txt")
); // 버퍼링가능
Reader reader = new LineNumberReader(
new BufferedReader(
new FileReader("data.txt")
)
); // 버퍼링가능 + 줄번호관리가능
Reader reader = new LineNumberReader(
new BufferedReader(
new InputStreamReader(
socket.getInputStream()
)
)
); // 소켓으로부터
BioHackersNet