Статическое кэширование в модели

Узелок на память.

Либо глобально следим, чтобы модель инициализировалась и больше запросов не было, либо делаем статический кэш данных в самой модели, как-то так:

class Entity {
 
   private static $entityData = NULL;

   private function realGetData($id) {
      // обращение к БД
   }

   public function getData($id) {
      if (!self::$entityData) self::$entityData = $this->realGetData($id); 
      return self::$entityData;
   }
}

Если про это не забывать, количество запросов к базе будет заметно меньше.

Паттерн Singleton делает то же самое для экземпляра объекта.

Коты предпочитают обходиться без паттернов:
Изображение болванка
Обновлено: 06.07.2016 — 9:30

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *