ФорумПрограммированиеPHP для идиотов → Отложенная инициализация (Lazy initialization pattern)

Отложенная инициализация (Lazy initialization pattern)

  • artoodetoo

    Сообщения: 5146 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 1:39

    Отложенная инифиализация позволяет выполнять какие-то подготовительные действия непосредственно перед их (первым) использованием.

    Для примера: ленимся соединяться с БД. Чем меньше время соединения с базой, тем лучше. Особенно если время соединения == время открытой транзакции.
    При отложенной инициализации и удачном кеше мы можем отдать страницу вообще не открыв соединие.

    Чтобы не засорять код Контроллера лишними "if", можно реализовать О.И. в классе DBLayer: в конструкторе НЕ устанавливать соединение, а проверять connection перед query. А в начале контроллера смело делаем
    $db = new DBLayer;

    Ваши соображения?
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 1:43, спустя 4 минуты 18 секунд

    яя живой!!!!!!!!!!!!!!!!
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 2:57, спустя 1 час 13 минут 32 секунды

    браузеро зависимые функции, такие как аттачИвент/аддИвентХендлер, тоже можно совать в лейзи лоадинг
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 3:03, спустя 5 минут 53 секунды


    браузеро зависимые функции, такие как аттачИвент/аддИвентХендлер, тоже можно совать в лейзи лоадинг
    оО. то есть прототип применять по время первого применения этой функции? …
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 3:36, спустя 33 минуты 36 секунд

    function myHandler(){
    window.myHandler = attachEvent ? attachEvent : addEventListener
    return window.myHandler;
    }


    чтото вроде

Пожалуйста, авторизуйтесь, чтобы написать комментарий!