Какво е предимството на ООП програмиране

csk1drock

Registered
Здравейте, интересува ме какво е предимството на ООП програмирането от обикновеното програмиране?!
 
Много по-добрата изолация на отделните фрагменти и лесното разширяване или промяна на функционалност чрез наследяване като първообраза на обекта остава неизменен, така че до момента написаното да продължи да работи по стария начин. Като цяло по-стабилен код и нагледност на модулите.
 
palex каза:
Много по-добрата изолация на отделните фрагменти и лесното разширяване или промяна на функционалност чрез наследяване като първообраза на обекта остава неизменен, така че до момента написаното да продължи да работи по стария начин. Като цяло по-стабилен код и нагледност на модулите.

Допълнение: но това не значи, че масовото му ползване е добра практика. ООП се ползва предимно при мултифункционални сайтове, които с прост процедурен код не става да се напишат. В смисъл, винаги може да се напишат процедурно, но няма да доведе до добър перформънс и функционалност.
 
Тази тема е дискутирана неколкократно в този форум, но за съжаление успях да намеря само една от тях.

http://web-tourist.net/forum/viewtopic.php?t=109122

Идеята е да видиш вече интересни мнения на твърди ООП фенове и такива, които харесват процедурния код.

Надявам се да ти помогне при стигането до отговора на зададения въпрос. :?:
 
relax4o каза:
Допълнение: но това не значи, че масовото му ползване е добра практика. ООП се ползва предимно при мултифункционални сайтове, които с прост процедурен код не става да се напишат. В смисъл, винаги може да се напишат процедурно, но няма да доведе до добър перформънс и функционалност.
Performance-a на процедурния код в PHP е с 5-10% по-висок от обектно ориентирания
 
Fakeheal каза:
Тази тема е дискутирана неколкократно в този форум, но за съжаление успях да намеря само една от тях.

http://web-tourist.net/forum/viewtopic.php?t=109122

Идеята е да видиш вече интересни мнения на твърди ООП фенове и такива, които харесват процедурния код.

Надявам се да ти помогне при стигането до отговора на зададения въпрос. :?:

Има доста лоши примери в тази тема.

Някои казват следното "Не правете това, за което не е предназначен метода".Методите на класовете нямат главна цел да връщат стрингови стойности. Главно се правят основните проверки или за каквото е предназначен метода и според това се връща булева стойност(а може и да не връща нищо). И вече според тези булеви стойности, в процедурния код се правят проверки и се извежда определения текст.

StormBreaker каза:
OOП не е само начин за структуриране на код, а начин на мислене. Ако не се научиш да мислиш така, ще стане така, че ще пишеш процедурен код в класове и ще си мислиш, че е Обектно-ориентиран.

може би това беше най-смисления отговор в онази тема.



Самото название ООП си показва, че се работи с обекти, а не на процедури(направи това и върни "Вярно", ако не върни "Грешно").
Масова практика при това програмиране също е изключенията, които са доста полезни в някои случаи. Вместо да връщаш с return хвърляш грешка, която да я уловиш. И даже ще дам един пример, който показва самия стил и цел на ООП.

PHP:
class Test {
         public static function login($user, $password, $salt = NULL, $pepper = NULL){
                    if(!isset($user, $password)){
                              throw new Exception("You must fill the required fields!", 110);
                    }
         }
}

try {
          Test::login();
}
catch (Exception $e){
         echo $e->getMessage() . " [WITH CODE: " . $е->getCode() . "]";
}

Това е прост пример за хвърляне на грешки. С това искам да покажа, че не е правилно да се връща директно стринг от метода, а да се ползват вече предоставените от PHP средства. Възползвайте се максимално от ООП и не го превръщайте в процедурен код.
 

Back
Горе