Как влияет на производительность использование шаблонов проектирования в PHP? - PullRequest
3 голосов
/ 15 февраля 2010

Я знаю, что дизайн-шаблоны очень полезны при создании больших проектов. Есть ли у кого-то опыт как в создании проекта с нормальным (ОО, процедурный), так и с использованием шаблонов проектирования в отношении производительности (скорость выполнения)? Я хочу создать какой-то большой проект и боюсь, что при использовании шаблонов проектирования мои скрипты будут работать медленнее. Так Какова производительность кода с заданным шаблоном по сравнению с обычным программированием OO?

Привет

Ответы [ 7 ]

12 голосов
/ 15 февраля 2010

Лично

Я запрограммирую это, а затем выясню, есть ли проблемы со скоростью / узкие места.

Беспокойство по поводу производительности только тогда, когда это становится проблемой.

6 голосов
/ 15 февраля 2010

Целью шаблонов проектирования является решение общих проблем. Эти проблемы могут включать в себя ремонтопригодность (что звучит так, как вам больше всего интересно), , а также производительность.

Лично я предпочел бы сначала применить архитектурные шаблоны, чтобы упростить понимание операций вашего приложения. Тогда должно быть проще провести реорганизацию существующего кода, чтобы ввести некоторые связанные с производительностью шаблоны, если этого требует производительность вашего кода.

1 голос
/ 15 февраля 2010

Здесь можно применить старую поговорку о дизайне базы данных: «Сначала проектируй для нормализации, потом денормализуй для производительности». В этом случае спроектируйте его правильно с первого раза, если вы обнаружите узкие места в производительности, оптимизируйте и разбейте элементы вашего дизайна на единичной основе. Еще одна проблема: попросите кого-нибудь использовать ваше приложение перед началом оптимизации, в противном случае, кого это волнует?

1 голос
/ 15 февраля 2010

Некоторые из причин, по которым используются шаблоны проектирования, заключается в устранении дублирования кода и размещении кода в нужном месте. Оба эти фактора способствуют быстрому применению. Отдельные методы, такие как кэширование и загрузка кода только по мере необходимости, могут быть проще / быстрее применены с шаблонами проектирования.

Тем не менее, удобство сопровождения будет гораздо более заметным, если подумать о применяемом кодировании, что позволит вам как программисту сосредоточиться на реальных проблемах производительности.

1 голос
/ 15 февраля 2010

Редко сложность кода является фактором общей скорости выполнения приложения PHP, обычно взаимодействие с базой данных и время передачи по сети являются гораздо лучшими кандидатами на медлительность.

В любом случае, сначала разработайте, а потом оптимизируйте. Вы могли бы узнать, что такая оптимизация даже не нужна.

0 голосов
/ 15 февраля 2010

Ну, у меня нет опыта программирования с использованием шаблонов проектирования (только MVC). Это полезно для удобства обслуживания, но количество классов / кода больше по сравнению с ОО-программированием. (это вывод из моего исследования, но не из опыта). Под дизайном я имею в виду фабрику, декоратор, синглтон и т. Д.

Я не хочу, чтобы мой код был в хорошем состоянии, но работал медленно. Ex. Многие ORM-решения поддерживаются в хорошем состоянии, но гораздо медленнее, чем простое кодирование запросов.

0 голосов
/ 15 февраля 2010

Это полностью зависит от того, что делает ваше приложение, и от деталей того, как вы реализуете шаблоны. Сами шаблоны проектирования на самом деле не связаны с производительностью, но предназначены для того, чтобы помочь вам структурировать вашу систему для обеспечения удобства обслуживания.

Кроме того, производительность не должна быть проблемой на этом этапе; сначала сфокусируйтесь на том, чтобы закрепить дизайн, и если он окажется слишком медленным, только тогда вы должны беспокоиться об оптимизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...