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() ) ) ); // 소켓으로부터