среда, 1 августа 2012 г.

pattern: Decorator

    Назначение
    Динамически возлагает на объекты новые функции. Декораторы применяются для расширения имеющейся функциональности и являются гибкой альтернативой порождению подклассов.

    Использование шаблона в JDK
(примеры частично взяты с этого ресурса)

    java.io.BufferedInputStream(InputStream)          java.io.BufferedOutputStream(OutputStream)        java.io.BufferedReader(Reader)    java.io.BufferedWriter(Writer)    java.io.PrintStream(OutputStream)    java.io.PrintWriter(Writer)    java.util.Collections.checkedList(List, Class) (также checkedCollection, checkedMap, checkedSet, checkedSortedMap, checkedSortedSet)    java.util.Collections.synchronizedList(List) (также synchronizedCollection, synchronizedMap, synchronizedSet, synchronizedSortedMap, synchronizedSortedSet)    java.util.Collections.unmodifiableList(List) (также unmodifiableCollection, unmodifiableMap, unmodifiableSet, unmodifiableSortedMap, unmodifiableSortedSet)    javax.servlet.http.HttpServletRequestWrapper(HttpServletRequest)    javax.servlet.http.HttpServletResponseWrapper(HttpServletResponse)