Статьи с меткой "паттерны"
Порядок:   

MVC в небольших web-приложениях

Часто веб-приложение является процессом, в котором время – критический фактор. Так как кодинг обычно является последним шагом, все соединяется вместе и обнаруживаются главные ошибки. «Сделай его таким, чтобы оно одинаково выглядело во всех браузерах, работало лучше искусственного интеллекта, который когда-либо был задуман и умело летать» - обычно мы слышим нечто в этом роде. Работая в условиях ограниченного количества времени, разработчики часто прибегают к быстрым исправлениям. К концу проекта они оказываются в куче кода и это не только из-за изменений в последнюю минуту. «Ну и что, если сайт работает хорошо, никто не жалуется и клиент одобрил его?» - можете спросить вы. Это отношение, с которым я сталкивался много раз. Часто это заканчивается бедствием на последующем этапе, будь то расширение сайта, новый вид или изменение сервера.
Комментарии: 16     Просмотры: 14429     Рейтинг: 12345



Паттерн Наблюдатель (Observer) в PHP

Совсем недавно я просто влюбился в шаблон проектирования observer. Вы можете с легкостью построить целое приложение, используя невероятную мощь программирования управлений событиями. Что именно представляет из себя паттерн наблюдатель? Вся теория доступна на Википедии. Говоря простым языком, у нас есть объект, за которым мы хотим мониторить (наблюдать) на предмет каких-либо изменений. Большую часть времени этот объект просто освобождает события и мы хотим прослушивать их. Мы можем иметь много объектов прослушивающих один или много других объектов, проще говоря, это может быть отношение многие ко многим. Классический пример в мире баз данных это триггеры. Например, когда таблица была обновлена, прослушивающий триггер освобождается. В оконных приложениях, когда пользователь нажимает на кнопку, события освобождается и прослушивающие уведомляются для управления событием. В следующем примере мы имеем объект валидатор, который проверяет валидность e-mail адреса, освобождающий два типа событий, которые мы хотели бы прослушивать. Эти типы, ясное дело, валидный / не валидный e-mail адрес. Мы также объявим двух слушателей, по одному на каждое из типов событий, слушающих валидатор. Первый будет просто некоторым логгером ошибок, записывать неверные попытки ввода, и второй будет записывать корректный e-mail адрес в базу данных или другое место.
Комментарии: 1716     Просмотры: 39889     Рейтинг: 12345



Паттерн кэширования для моделей

Это паттерн для моделей использующих Zend_Cache и магический метод __call. Изначальный смысл в том, что модель должна иметь возможность возвращать не кэшированные или кэшированные вызовы, без постоянной инициализации определенного объекта. Должно происходить легкое переключение между двумя вызовами, и кэш должен приходить уже с моделью объекта.
Комментарии: 1602     Просмотры: 37745     Рейтинг: 12345