Насколько уместны шаблоны проектирования OO при разработке PHP-приложений для Интернета?
IMO они очень важны для любого нетривиального приложения PHP, если шаблон, который вы используете, применим для данной проблемы.
Это что-то для исполнения?
Не обязательно, и вы можете воспринимать это как в положительном, так и в отрицательном отношении. Самые популярные шаблоны дизайна не собираются напрямую добавлять какие-либо положительные преимущества в производительности, а некоторые, которые налагают больше наследования или структуры классов, могут добавить незначительную стоимость исполнения (я подчеркиваю незначительность).Преимущества использования известных моделей, когда это применимо, перевешивают эти незначительные затраты.
В одном примере я могу придумать, где шаблон будет напрямую улучшать «производительность» (в отношении использования памяти), было бы правильным использованием одноэлементного шаблона. Если вам действительно нужен только один экземпляр объекта в любой момент времени, то вы минимизируете использование памяти с помощью этого экземпляра.
Или это просто сохранить код для гибкой разработки?
Я бы сказал, что правильное использование шаблонов сохраняет код более ремонтопригодным, а не «постным». Это облегчит любой цикл разработки, в том числе гибкий, поскольку код, который использует известные шаблоны, легче читать.
Кто является главным благодетелем для реализации этих шаблонов дизайна? Это клиент или разработчик?
В первую очередь разработчик (особенно если это разработчик (-ы), в котором команда имеет дело, чтобы посмотреть на один и тот же код.) Существует косвенное влияние на клиента в том, что хорошо написанный код, очевидно, будет иметь меньше ошибок, и программное обеспечение, использующее шаблоны, вероятно, будет иметь меньше времени на восстановление от повторного создания колеса.
Отличный ответ! есть ли где-нибудь в Интернете, где вы можете найти учебники по обучению распознаванию шаблонов и когда их использовать? Каков наилучший способ узнать их? –
Есть книга парней PHP | Архитекторы по шаблонам проектирования в PHP, которые я нашел полезными, так как объясняет, как каждый из шаблонов работает в контексте языка. Научиться распознавать, что они есть и когда их использовать ... это немного сложнее, это просто практика. –
Книга Gang of Four (http://c2.com/cgi/wiki?DesignPatternsBook) - это хорошее место для начала, но реализации нужно будет перевести на PHP. Формат самих шаблонов говорит вам, какая проблема решает шаблон. Хорошей отправной точкой будет вход в wikipedia: http://en.wikipedia.org/wiki/Design_Patterns – tvanfosson