Дисциплины - Объектно-ориентированное программирование

Шаблоны проектирования практических задач - Структурные шаблоны проектирования - Адаптер

Адаптер — это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе.

Типичным примером использования шаблона Адаптер можно назвать создание классов, приводящих к единому интерфейсу функции языка PHP обеспечивающие доступ к различным СУБД.

class SomeClass
{
    public function someSum($a, $b)
    {
        return $a + $b;
    }
}

class AnotherClass
{
    public function anotherSum($a, $b)
    {
        return $a + $b;
    }
}

trait TAdaptee
{
    public function sum(int $a, int $b)
    {
        $method = $this->method;
        return $this->$method($a, $b);
    }
}

class SomeAdaptee extends SomeClass
{
    use TAdaptee;
    private $method = 'someSum';
}

class AnotherAdaptee extends AnotherClass
{
    use TAdaptee;
    private $method = 'anotherSum';
}

$some = new SomeAdaptee;
$another = new AnotherAdaptee;
$some->sum(2,2);
$another->sum(5,2);

Еще пример на PHP

trait TAdaptee
{
    public function sum(int $a, int $b)
    {
        $method = $this->method;
        return $this->$method($a, $b);
    }
}

class SomeClass
{
    use TAdaptee;
    private $method = 'someSum';
    public function someSum($a, $b)
    {
        return $a + $b;
    }
}

class AnotherClass
{
    use TAdaptee;
    private $method = 'anotherSum';
    public function anotherSum($a, $b)
    {
        return $a + $b;
    }
}

$some = new SomeClass;
$another = new AnotherClass;
$some->sum(2,2);
$another->sum(5,2);

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться
814301 БГУИР
814302 БГУИР
814303 БГУИР
894351 БГУИР
90421 БГУИР


Изображения Видео

1. Абстрактная фабрика https://www.youtube.com/watch?v=1mVONOCxfLg
2. Фабричный метод https://www.youtube.com/watch?v=5UqUDR6_2cY
3. Шаблон декоратор https://www.youtube.com/watch?v=Lwb9bm8yKD0
4. Dessign patterns on PHP https://github.com/domnikl/DesignPatternsPHP
5. Приёмы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.
6. Приемы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.
7. Ajax http://erud.by/ajax
8. Ajax http://erud.by/ajax
9. Ajax http://erud.by/ajax
10. Документация Laravel http://laravel.com
Задание к курсовой работе
Задание к курсовой работе
Вопросы к экзамену