<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://dokuwiki.webmastermsk.ru/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://dokuwiki.webmastermsk.ru/feed.php">
        <title> php:shablony_proektirovanija:behavioral_patterns</title>
        <description></description>
        <link>https://dokuwiki.webmastermsk.ru/</link>
        <image rdf:resource="https://dokuwiki.webmastermsk.ru/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-08-12T15:30:33+0000</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:chain_of_responsibilities&amp;rev=1692301970&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:command&amp;rev=1691438483&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:interpreter&amp;rev=1692304723&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:iterator&amp;rev=1691439357&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:iteratoraggregat&amp;rev=1691439446&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:mediator&amp;rev=1691439602&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:memento&amp;rev=1692305104&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:null_object&amp;rev=1691439743&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:observer&amp;rev=1691439817&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:specification&amp;rev=1692304517&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:state&amp;rev=1692303977&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:strategy&amp;rev=1691440278&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:template_method&amp;rev=1691440352&amp;do=diff"/>
                <rdf:li rdf:resource="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:visitor&amp;rev=1692303579&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://dokuwiki.webmastermsk.ru/lib/tpl/dokuwiki/images/favicon.ico">
        <title></title>
        <link>https://dokuwiki.webmastermsk.ru/</link>
        <url>https://dokuwiki.webmastermsk.ru/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:chain_of_responsibilities&amp;rev=1692301970&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-17T19:52:50+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:chain_of_responsibilities</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:chain_of_responsibilities&amp;rev=1692301970&amp;do=diff</link>
        <description>Цепочка Обязанностей (Chain Of Responsibilities)

▶ code

В случаях, когда требуется эффективно, компактно, надежно реализовать обработку потока информации с потенциально большим количеством обработчиков, используется шаблон проектирования</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:command&amp;rev=1691438483&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-07T20:01:23+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:command</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:command&amp;rev=1691438483&amp;do=diff</link>
        <description>Command

Команда — это поведенческий паттерн, позволяющий заворачивать запросы или простые операции в отдельные объекты.



Это позволяет откладывать выполнение команд, выстраивать их в очереди, а также хранить историю и делать отмену.</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:interpreter&amp;rev=1692304723&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-17T20:38:43+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:interpreter</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:interpreter&amp;rev=1692304723&amp;do=diff</link>
        <description>Интерпретатор (Interpreter)

▶ code

Для некоего языка шаблон описывает его грамматику с помощью терминов «Терминальный символ» и «Нетерминальный символ», а также описывает интерпретатор предложений, созданных с помощью данного языка.</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:iterator&amp;rev=1691439357&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-07T20:15:57+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:iterator</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:iterator&amp;rev=1691439357&amp;do=diff</link>
        <description>Интерфейс Iterator

Итератор — это поведенческий паттерн, позволяющий последовательно обходить сложную коллекцию, без раскрытия деталей её реализации.</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:iteratoraggregat&amp;rev=1691439446&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-07T20:17:26+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:iteratoraggregat</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:iteratoraggregat&amp;rev=1691439446&amp;do=diff</link>
        <description>Интерфейс IteratorAggregate

Интерфейс для создания внешнего итератора. 

Обзор


IteratorAggregate extends Traversable {
   /* Методы */
   abstract public getIterator ( ) : Traversable
}


Пример</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:mediator&amp;rev=1691439602&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-07T20:20:02+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:mediator</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:mediator&amp;rev=1691439602&amp;do=diff</link>
        <description>Посредник (Mediator)

Посредник — это поведенческий паттерн, который упрощает коммуникацию между компонентами системы.




Посредник убирает прямые связи между отдельными компонентами, заставляя их общаться друг с другом через себя.</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:memento&amp;rev=1692305104&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-17T20:45:04+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:memento</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:memento&amp;rev=1692305104&amp;do=diff</link>
        <description>Хранитель (Memento)

▶ code

Шаблон предоставляет возможность восстановить объект в его предыдущем состоянии (отменить действие посредством отката к предыдущему состоянию) или получить доступ к состоянию объекта, не раскрывая его реализацию (т.е. сам объект не обязан иметь функциональность для возврата текущего состояния).…</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:null_object&amp;rev=1691439743&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-07T20:22:23+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:null_object</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:null_object&amp;rev=1691439743&amp;do=diff</link>
        <description>Null object

В объектно-ориентированном программировании Null Object — это объект с определенным нейтральным («null») поведением. Шаблон проектирования Null Object описывает использование таких объектов и их поведение (или отсутствие такового). Впервые опубликован в серии книг Pattern Languages of Program Design.…</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:observer&amp;rev=1691439817&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-07T20:23:37+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:observer</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:observer&amp;rev=1691439817&amp;do=diff</link>
        <description>Наблюдатель (Observer)

Наблюдатель (англ. Observer) — поведенческий шаблон проектирования. Также известен как «подчинённые» (Dependents). Реализует у класса механизм, который позволяет объекту этого класса получать оповещения об изменении состояния других объектов и тем самым наблюдать за ними.…</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:specification&amp;rev=1692304517&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-17T20:35:17+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:specification</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:specification&amp;rev=1692304517&amp;do=diff</link>
        <description>Спецификация (Specification)

▶ code

Строит ясное описание бизнес-правил, на соответствие которым могут быть проверены объекты. Композитный класс

спецификация имеет один метод, называемый isSatisfiedBy, который возвращает истину или ложь в зависимости от того,</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:state&amp;rev=1692303977&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-17T20:26:17+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:state</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:state&amp;rev=1692303977&amp;do=diff</link>
        <description>Состояние (State)

▶ code

Состояние - инкапсулирует изменение поведения одних и тех же методов в зависимости от состояния объекта. Этот паттерн поможет изящным способом изменить поведение объекта во время выполнения не прибегая к большим монолитным условным операторам.</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:strategy&amp;rev=1691440278&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-07T20:31:18+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:strategy</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:strategy&amp;rev=1691440278&amp;do=diff</link>
        <description>Стратегия (Strategy)

Стратегия — это поведенческий паттерн, выносит набор алгоритмов в собственные классы и делает их взаимозаменимыми. 




Особенности паттерна на PHP</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:template_method&amp;rev=1691440352&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-07T20:32:32+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:template_method</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:template_method&amp;rev=1691440352&amp;do=diff</link>
        <description>Шаблонный метод

Шаблонный метод — это поведенческий паттерн, задающий скелет алгоритма в суперклассе и заставляющий подклассы реализовать конкретные шаги этого алгоритма.</description>
    </item>
    <item rdf:about="https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:visitor&amp;rev=1692303579&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-17T20:19:39+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>php:shablony_proektirovanija:behavioral_patterns:visitor</title>
        <link>https://dokuwiki.webmastermsk.ru/doku.php?id=php:shablony_proektirovanija:behavioral_patterns:visitor&amp;rev=1692303579&amp;do=diff</link>
        <description>Посетитель (Visitor)

▶ code

Шаблон «Посетитель» выполняет операции над объектами других классов. Главной целью является сохранение разделения направленности задач отдельных классов. При этом классы обязаны определить специальный контракт, чтобы позволить использовать их Посетителям (метод «принять роль» Role::accept в примере).…</description>
    </item>
</rdf:RDF>
