Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Little Developers проект

Featured Replies

Представи си че искам да сглобя 10-редово едноминутно скриптче на PHP... ще ме караш да правя клас? От 'къв зор? 

 

То понеже е много сложно да напишеш клас.

 

Публикувано изображение

 

Само където второто ти дава по-голяма функционалност. ;)

Редактирано от gothicrock (преглед на промените)

То понеже е много сложно да напишеш клас.

 

Публикувано изображение

 

Само където второто ти дава по-голяма функционалност. ;)

Нали знаеш, че статични методи в клас не е ООП? За това ти говоря - можеш да правиш същите грешки, като в процедурен PHP,  дори да направиш класовете абсолютно задължителни. 

Нали знаеш, че статични методи в клас не е ООП? 

 

Не е вярно.

При PHP в определени случаи е по-подходящо да се използват класове вместо обекти, защото е динамично типизиран език. Плюс това, има дизайн патърни, при които умишлено се използват статични методи, така че почети малко по въпроса и после пиши. ;)

Не е вярно.

При PHP в определени случаи е по-подходящо да се използват класове вместо обекти, защото е динамично типизиран език. Плюс това, има дизайн патърни, при които умишлено се използват статични методи, така че почети малко по въпроса и после пиши. ;)

В случая не правиш Factory или Singleton. Един клас със един статичен метод в него определено не е ООП.

Не виждам динамичната типизация какво общо има. Care to explain?

В случая не правиш Factory или Singleton. Един клас със един статичен метод в него определено не е ООП.

Не виждам динамичната типизация какво общо има. Care to explain?

 

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

 

А за динамичната типизация обяснението се крие в ключовото понятие полиморфизъм - демек, обектът може да има различно поведение в зависимост от контекста на неговата употреба. Пък ако не искаш нещо да ти изгърми заради неправилен data type, трябва да използваш леки хакове, за да следиш поведението на обектите - примерно, можеш да ползваш класове, вместо обекти. ;)

А за динамичната типизация обяснението се крие в ключовото понятие полиморфизъм - демек, обектът може да има различно поведение в зависимост от контекста на неговата употреба. Пък ако не искаш нещо да ти изгърми заради неправилен data type, трябва да използваш леки хакове, за да следиш поведението на обектите - примерно, можеш да ползваш класове, вместо обекти. ;)

Полиморфизмът е явление само при динамичните езици ли? Не успях да ти разбера логиката...

Ако пишеш процедурно в клас, смисълът на класа се губи, не мислиш ли? 

Ако пишеш процедурно в клас, смисълът на класа се губи, не мислиш ли? 

 

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

Просто има случаи, в които използването на статични методи и свойства има своите плюсове.

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

Просто има случаи, в които използването на статични методи и свойства има своите плюсове.

Примерът ти мога да го ползвам и като аргумент по моята теза - че дори да забраниш функциите извън класове, това няма да спре програмистите да пишат процедурен код. :)

Примерът ти мога да го ползвам и като аргумент по моята теза - че дори да забраниш функциите извън класове, това няма да спре програмистите да пишат процедурен код. :)

 

Идеята ми беше, че това ще е полезно за развитието на езика.

Но проблемът е, че пазара създава предпоставки за писането на лош код на PHP.

Идеята ми беше, че това ще е полезно за развитието на езика.

Но проблемът е, че пазара създава предпоставки за писането на лош код на PHP.

Един хубав език трябва да може да предложи начини да се пишат елегантно както малки скриптове и сайтове, така и големи, сложни ОО-системи.

Наблягам на думата елегантно. Един такъв език е Python. Сигурно си чувал за "The Zen of Python":

Beautiful is better than ugly.

Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. ...

Това са основни принципи на езика. Цялото общество се води по тях. Резултатът е стандартизиран, елегантен, изчистен код.

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

Редактирано от maxim4o (преглед на промените)

Един хубав език трябва да може да предложи начини да се пишат елегантно както малки скриптове и сайтове, така и големи, сложни ОО-системи.

Наблягам на думата елегантно. Един такъв език е Python. Сигурно си чувал за "The Zen of Python":

Това са основни принцип на езика. Цялото общество се води по тях. Резултата е стандартизиран, елегантен, изчистен код.

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

 

Когато пазарът налага един сайт, който струва 1000 лева, да се прави за 200 лева, винаги ще се намери кой да го напише по абсолютно неелегантен начин и на клиента хич да не му пука за това. ;)

Когато пазарът налага един сайт, който струва 1000 лева, да се прави за 200 лева, винаги ще се намери кой да го напише по абсолютно неелегантен начин и на клиента хич да не му пука за това. ;)

Ще му пука в последствие, когато се налага maintenance/добавяне на нови feature-и :)

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.