Аргерих Л. О языке РНР. Часть 1. Страница 89


Улучшенные функции ООП в РНР4 послужили толчком к большим измене­ниям в сообществе программистов РНР. Разработчики лишь начинают ис­пользовать преимущества ООП. В данной главе мы рассмотрим ООП с самого основания и покажем, какую роль оно играет в РНР и как строить элегант­ные решения задач, часто возникающих в веб-среде. Мы рассмотрим некото­рые полезные эвристики и приемы для улучшения повторного использова­ния и сопровождения кода, а также некоторые искусные проектные реше­ния. Не забегая вперед, посмотрим сначала, как возникла парадигма ООП и в чем состоят его отличия от традиционного функционального программи­рования. Если вы хорошо знакомы с ООП и вам нужна конкретная информа­ция, относящаяся к РНР, можете сразу перейти к разделу «Классы».

Объектно-ориентированное программирование

Начнем с рассмотрения отличий ООП от обычного функционального про­граммирования. До появления ООП сложность и размеры компьютерных программ неуклонно росли. Для разработки ПО требовалось привлекать много архитекторов и инженеров, все больше времени и денег уходило на сопровождение программ. Часто, когда требовалось добавить или изменить характеристики или правила, чтобы привести их в соответствие с бизнес-мо­делью, модификация занимала недели или даже месяцы. Гораздо быстрее было бы создать новое приложение.

Приложения стали такими большими, что поиск ошибок превратился в серьезную проблему. Прослеживание работы имеющихся функций занима­ло больше времени, чем внесение модификаций, а код становился крайне беспорядочным по мере увеличения количества программистов, участвую­щих в проекте. Одним из основных факторов стало недостаточное начальное проектирование, часто связанное с языками, не поддерживающими ООП, такими как С или Fortran. Крупные компании, вкладывающие массу време­ни и средств в создание компьютеризованных систем для управления своим бизнесом, остро ощущали необходимость усовершенствования технологий проектирования и создания программного обеспечения.

В это время специалисты по вычислительной технике, философы, биологи и разработчики структур ПО, в числе которых отличились Алан Кэй (Alan Kay) со своими проектами внедрения Smalltalk и Буч (Grady Booch),

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

Задача была в том, чтобы разрешить кризис в разработке ПО посредством простой в использовании и интуитивной структуры (framework). Пионеры ООП обнаружили, что с помощью нескольких эвристик, приложенных к этой новой технологии, становится возможным автоматическое решение массы проблем, связанных с кризисом программного обеспечения, без су­щественных дополнительных усилий программистов. ООП вынуждает про­граммиста взглянуть на задачи и их решения с другой точки зрения. При этом незначительно снижается производительность, зато существенно об­легчается сопровождение кода.




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