Как постоянство меняет архитектуру объекта? - PullRequest
2 голосов
/ 12 августа 2010

Я работаю с классами в PHP. Когда я пишу класс, я всегда думаю: «Этот объект в основном одноразовый; он не будет длиться дольше, чем загрузка страницы». Следовательно, вся логика в моих классах в основном конструирует себя, делает несколько изменений состояния, дает некоторую обратную связь и умирает. Рассол креветки.

Из-за этого я привык использовать исключения для исключения практически всех проблем, потому что я не смогу заставить пользователя взаимодействовать с объектом в случае возникновения проблемы. Вместо этого пользователь получает некоторую обратную связь на странице о том, что произошло, и затем он повторно отправляет форму или что-то еще. В любом случае объект вот-вот умрет через несколько миллисекунд, и я не смогу получить больше данных для обработки ошибки.

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

Обратите внимание, что я спрашиваю не о том, "Как объекты ведут себя в PHP иначе, чем в других языках?" а скорее: «Когда эти объекты пишутся в PHP (или в других непостоянных средах), чем они отличаются от того, когда они могут сохраняться?»

1 Ответ

0 голосов
/ 12 августа 2010

Я подозреваю, что один ключевой аспект будет связан с управлением ресурсами, причем файловые дескрипторы и память являются очевидными подозрениями.(С точки зрения PHP, я думаю, вы бы сбросили большие массивы и объекты, которые находятся в области действия, но больше не требуются.)открывание ручек и т. д. - довольно дрянная практика, даже если вы знаете, что среда выполнения позаботится о таких вещах для вас.

...