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

관련정보들

DecoratorPattern


CategoryPattern

web biohackers.net