РНР и шаблоны проектирования

Опубликовал read-php в 03.02.2011 Категория: Что такое шаблоны проектирования и зачем они нужны в PHP

В этой разделе мало что относится конкретно к РНР, что в некоторой степени характерно для данной темы. Многие шаблоны применимы ко многим языкам программирования, в которых есть возможности работы с объектами, достаточно только решить некоторые вопросы реализации (если они вообще возникают).

Но, конечно, это не всегда так. Некоторые шаблоны корпоративных приложений прекрасно используются в тех языках, где прикладной процесс продолжает свою работу между запросами к серверу. РНР работает иначе. Выполнение нового сценария начинается для каждого запроса. Это означает, что с некоторыми шаблонами нужно обращаться более аккуратно. Например, для реализации шаблона Front Controller часто требуется довольно много времени. Хорошо, если инициализация имеет место один раз при запуске приложения, но гораздо хуже, если она происходит при каждом запросе. Это не значит, что нельзя использовать данный шаблон; я применял его в своей практике с очень хорошими результатами. Просто при обсуждении шаблона мы должны обязательно принять во внимание вопросы, связанные с РНР.

Раньше я уже упоминал о языках программирования, в которых есть возможности работы с объектами. В РНР можно программировать, вообще не определяя никаких классов (хотя, учитывая продолжающееся развитие PEAR, вероятно, вы будете в некоторой степени оперировать объектами).  Шаблоны и РНР могут создать мощный союз. Тем не менее они могут прекрасно сосуществовать с другими, более традиционными, подходами. Убедительное доказательство тому— PEAR. В пакетах PEAR очень изящно используются шаблоны проектирования. Они склонны быть объектно-ориентированными по своей природе. И это делает их более, а не менее, полезными в процедурных проектах. Поскольку пакеты PEAR автономны и их сложность скрыта за четко описанным интерфейсом, их легко включить в проект любого типа.

Комментариев нет

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