ООП против ПОП
В настоящее время пошла большая популярность использования объектно-ориентированного программирования (далее ООП). И это не с проста. Я ни в коем случае не стану уговаривать всех использовать объектную модель данных, просто хочу немножко рассказать о данной технологии, или парадигме программирования, тут кто как называет.
Когда я пишу сценарии то особо не стараюсь использовать объекты если это не становится нужным. А становится нужным это в том случае, если Вы используйте:
- модульность в вашей cms
- актуально понятие мобильности кода
- модификация и дальнейшее сопровождение (нередко бывает что с кодом сталкиваются другие программисты).
Конечно, ПОП (процедурно-ориентированное программирование) отвергать абсолютно не стоит, так как даже по сей день оно используется довольно активно. Если Ваш проект не большой, или используется для каго-либо действия (положим парсер гугла) то использование ООП будет немножко неуместным. Стратегию ООП лучше всего описать как смещение приоритетов в процессе программирования от функциональности приложения к структурам данных. Это позволяет программисту моделировать в создаваемых приложениях реальные объекты и ситуации. Специфика ООП заметно повышает эффективность труда программистов и позволяет им создавать более мощные, масштабируемые и эффективные приложения.
Также становится актуальным понятие как АОП (аспектно-ориентированное программирование). Но этот вид мы не будем пока трогать так как он сложен для понимания впринципе (по крайней мере мне).
Вообще, ООП основано на 3 «механизмах»:
Инкапсуляция, полиморфизм и наследование.
Инкапсуляция – грубо говоря объединение методов обработки со свойствами объекта. И вследствие этого программиста работает со «связанным» объектом.
Полиморфизм – можно использовать одни и теже имена для похожих, но технически разных задач. Что-то наподобие производной, но очень очень в далеком смысле.
Наследование – когда свойство одного объекта становятся доступными другому объекту.
Можно привести простой пример с выводом «всемирной фразы» «Hello World!» в ПОП и ООП подходах.
ПОП:
<?
echo “Hello World!”;
?>
ООП:
<?
class first{
function second(){
echo “Hello World!”;
}
}
$obj = new first;
$obj->second();
?>
Оба примера выведут фразу «Hello World!»
Статьей по этому поводу куча в Интернете, кто ничего не понял то поищите в яндексе или гугле
Ладно, всем чао!
p.s. Леха, сильно не пинать!!!
Комментарии (127) к “ООП против ПОП”
Пингбэк и Трэкбек