Введение в паттерны

Слайд 2

Как я работал с кодом Сначала было так: Потом стало так:

Как я работал с кодом

Сначала было так:

2; $i< sizeof ($files); $i++){ include_once ('lib/' . $files[$i]); } ?>
Потом стало так: class ProductController extends Controller { }
Слайд 3

Потом я пришел сюда xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">

Потом я пришел сюда

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">


Слайд 4

Пока мне не захотелось разобраться abstract class Controller { protected $registry;

Пока мне не захотелось разобраться

abstract class Controller { protected $registry;
public function

__construct($registry) { $this->registry = $registry; }
public function __get($key) { return $this->registry->get($key); }
public function __set($key, $value) { $this->registry->set($key, $value); }
}
Слайд 5

Что было на самом деле.

Что было на самом деле.

Слайд 6

Почему я остановился в росте?

Почему я остановился в росте?

Слайд 7

Что я знал хорошо

Что я знал хорошо

Слайд 8

Кого я забыл?

Кого я забыл?

Слайд 9

Банда четырех (GoF)

Банда четырех (GoF)

Слайд 10

Слайд 11

Слайд 12

Основные паттерны

Основные паттерны

Слайд 13

Слайд 14

Перечень порождающих шаблонов абстрактная фабрика (abstract factory); строитель (builder); фабричный метод

Перечень порождающих шаблонов

абстрактная фабрика (abstract factory);
строитель (builder);
фабричный метод (factory method);
ленивая инициализация

(lazy initialization);
объектный пул (object pool);
прототип (prototype);
одиночка (singleton).
пул одиночек (Multiton)
Слайд 15

Слайд 16

Слайд 17

Слайд 18

Слайд 19

Слайд 20

Слайд 21

Слайд 22

Слайд 23

Слайд 24

Слайд 25

Слайд 26

Слайд 27

Слайд 28

Слайд 29

Слайд 30

Слайд 31

Слайд 32

Слайд 33

Слайд 34

Слайд 35

Слайд 36

Слайд 37

Слайд 38

Слайд 39