- Мнение за писане на OOP
12
WT форуми -> PHP MySQL ASP.NET -> Мнение за писане на OOP
Създайте нова тема Напишете отговор 
Автор Съобщение
rutera24
Турист
Турист

Регистриран на: 06/12/2009 8:35 pm

Support: 14
Bonus: 28
Мнения: 278
Мнение 23/01/2019 4:39 pm     Мнение за писане на OOP Отговорете с цитат


Пичове здравейте. Въпроса който ме мъчи е защо да пиша OOP.

Смятам да сменям професията и имам опит с php поне 5 години но OOP ми е мъгла. Опитвам се да го проумея от уроци но не успявам.

Дайте съвети. Вие защо го ползвате, някой който има същите тръдности и как ги е преодулял.

Мерси на всеки.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
dakata__92
Активен
Активен

Регистриран на: 02/08/2011 9:24 pm

Support: 119
Bonus: 231
Мнения: 3081
Мнение 23/01/2019 8:38 pm      Отговорете с цитат


Колега, аз също имах твоите терзания. Честно казано за мен ООП също беше мъгла. След доста четене и опити установих, че е много улесняващо да поддържаш система създадена с ООП. Преимуществата са огромни и не се дерзай а започни да пишеш и сам за себе си ще осъзнаеш колко удобно е. С времето и навика просто ще забравиш за чистото процедурно писане. Това е като да имаш пишеща машина и компютър един до друг. И на двете можеш да набереш текст но на компютъра е по-удобно и можете с колегите да направите редакция в движение, докато на пишещата машина става по-трудно. ООП е стил на работа и помага много в проектирането на дадена система. Класовете не ги интересува от къде са извикани стига да се отговарят на условията. Това ги прави независими и означава, че работата по проекта може да бъде разхвърляна към няколко програмиста. Подрежда се кода и подръжката става лесна. В клас User няма да търсиш метод с името setCarColor($color) просто защото се предполага, че въпросният метод с така поставеното му наименование, ще се отнася за друг клас с името Car. Поради тази причина и дебъгването е по-удобно. Да създават се и несгоди но има и Шаблони за дизайн, които решават конкретни проблеми. Не се съмнявай а започни да пишеш и с писането сам ще стигнеш до изводите, че процедурното писане в чистата си форма не е лошо, но обединено с обектният модел става изключително мощен инструмент с преизползване на кода без излишното му повтаряне.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 158
Bonus: 315
Мнения: 1482
Мнение 23/01/2019 8:41 pm      Отговорете с цитат


OOП е просто парадигма, набор от конвенции за структуриране и организиране на кода.

Ако не ти допада, можеш да пишеш функционално - поразрови се за functional programming, където фокусът от изграждане на йерархии от обекти се мести върху сглобяването на по-сложни фунцкии от множество по-прости.
И там се ползват обекти, разбира се, защото все някак трябва да можеш да групираш различни променливи, но погледът върху тях е различен.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Revelation
Потребител
Потребител

Регистриран на: 24/03/2013 3:23 pm

Support: 55
Bonus: 110
Мнения: 726
Мнение 24/01/2019 12:36 am      Отговорете с цитат


5 години и без опит с ООП? Значи нямаш никакъв опит.


Цитат:
сам ще стигнеш до изводите, че процедурното писане в чистата си форма не е лошо, но обединено с обектният модел става изключително мощен инструмент


Това прозвуча точно като да пишеш процедурен код в класове, което е възможно най-грешното при използване на обекти.

@anonimen го каза ясно. Това ти е начин да пресъздадеш нещата абстрактно и по-добре структурирани.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
rutera24
Турист
Турист

Регистриран на: 06/12/2009 8:35 pm

Support: 14
Bonus: 28
Мнения: 278
Мнение 24/01/2019 12:45 am     Re Отговорете с цитат


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

Сега се замислям на къде да поема към Ъпгрейд php-процедура > ООП или да продължа към Java - мобилни приложения (android). Преди правих приложения дори имам качени е маркета и за две години яко забравих нещата когато не го практикуваш и работиш скапана работа която не ти харесва и така.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Revelation
Потребител
Потребител

Регистриран на: 24/03/2013 3:23 pm

Support: 55
Bonus: 110
Мнения: 726
Мнение 24/01/2019 12:48 am      Отговорете с цитат


Двата ти коментара много съмнително звучат. Ако си писал приложенията на Java, значи би трябвало да си запознат с ООП.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
rutera24
Турист
Турист

Регистриран на: 06/12/2009 8:35 pm

Support: 14
Bonus: 28
Мнения: 278
Мнение 24/01/2019 1:39 am     Re Отговорете с цитат


Ем не съм бос в обектния модел, знам какво са методи, класове, конструктори, абстракция, енкапсулажия, малко полиморфизъм и т.н. но реално до сега не съм намирал приложение на ооп модела. А преди около 2 години се хванах и направих едни 4 приложения едва ли не за тест но като чели тогава ми бяха ясни сега не намирам логика къде да го използвам това ооп, а се търси навсякъде за работа. Затова и питам хора който са минали по този път да пишат на процедурен и да не виждат особено голяма логика от това да минават към ооп, но това стана ясно в горните коментари.

За приложениета в стора
https://play.google.com/store/apps/developer?id=Neo-Droid

Отново мерси на всички, както написах по-горе развивам си проект и ще опитам така да си припомня-науча ооп-пхп на ниво ползвател. Все пак не работя това а възнамерявам да започна.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
novakabg
Турист
Турист

Регистриран на: 13/05/2016 2:29 pm

Support: 5
Bonus: 10
Мнения: 335
Мнение 24/01/2019 1:35 pm      Отговорете с цитат


Хахах и аз бях така, пич ООП е супер, ще ти спести толкова главоболие и да не говорим колко лесно ще бъде.

Виж и този модел още по як е: https://bg.wikipedia.org/wiki/Model-View-Controller

Повярвай ще забравиш за друго като научиш ООП Smile
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Revelation
Потребител
Потребител

Регистриран на: 24/03/2013 3:23 pm

Support: 55
Bonus: 110
Мнения: 726
Мнение 24/01/2019 3:32 pm      Отговорете с цитат


Idea Idea Very Happy Very Happy Shocked Crying or Very sad
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
dakata__92
Активен
Активен

Регистриран на: 02/08/2011 9:24 pm

Support: 119
Bonus: 231
Мнения: 3081
Мнение 28/01/2019 2:31 pm      Отговорете с цитат


...

Последната промяна е направена от dakata__92 на 28/01/2019 7:18 pm; мнението е било променяно общо 1 път
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Fakeheal
Support
Support

Регистриран на: 17/04/2010 8:37 am

Support: 350
Bonus: 698
Мнения: 2663
Мнение 28/01/2019 6:40 pm      Отговорете с цитат


Здравей,

това, което си дал като пример не е "процедурен код".


OOP е парадигма за създаване на абстракция и придаване на "форма" (ако мога да го нарека така)/структиране на кода.

Твоя пример е просто PHP код.

Например в старите версии на JS няма класове, пропъртита, етц,но това не значи обаче, че не може да пишеш обектно-ориентирано.

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

Регистриран на: 24/03/2013 3:23 pm

Support: 55
Bonus: 110
Мнения: 726
Мнение 28/01/2019 8:24 pm      Отговорете с цитат


Изтървах изтрития пост. Sad
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
12
Страница 1 от 2


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети