Мнение за писане на OOP

C++ JAVA
User avatar
rutera24
Турист
Турист
Posts: 281
Joined: Sun Dec 06, 2009 6:35 pm
Answers: 14
Location: Sofia

Мнение за писане на OOP

Post by rutera24 » Wed Jan 23, 2019 2:39 pm

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

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

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

Мерси на всеки.

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3261
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Wed Jan 23, 2019 6:38 pm

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

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1562
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

Post by anonimen » Wed Jan 23, 2019 6:41 pm

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

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

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 861
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Wed Jan 23, 2019 10:36 pm

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

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

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

User avatar
rutera24
Турист
Турист
Posts: 281
Joined: Sun Dec 06, 2009 6:35 pm
Answers: 14
Location: Sofia

Re

Post by rutera24 » Wed Jan 23, 2019 10:45 pm

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

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

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 861
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Wed Jan 23, 2019 10:48 pm

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

User avatar
rutera24
Турист
Турист
Posts: 281
Joined: Sun Dec 06, 2009 6:35 pm
Answers: 14
Location: Sofia

Re

Post by rutera24 » Wed Jan 23, 2019 11:39 pm

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

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

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

novakabg
Турист
Турист
Posts: 337
Joined: Fri May 13, 2016 12:29 pm
Contact:

Post by novakabg » Thu Jan 24, 2019 11:35 am

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

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

Повярвай ще забравиш за друго като научиш ООП :)

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 861
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Thu Jan 24, 2019 1:32 pm

:idea: :idea: :D :D :shock: :cry:

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3261
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Mon Jan 28, 2019 12:31 pm

...
Last edited by dakata__92 on Mon Jan 28, 2019 5:18 pm, edited 1 time in total.

Post Reply