[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Императив VS ООП
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
twin
Не, а вы что хотели от меня? Чтобы я процедурой все написал? Я никогда не говорил, что классы, это плохо. Я про взаимодействия говорил.

Ну не слышите меня, может на примере потом поймете.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
И всё таки. Два вопроса по ТЗ остались невыясненными.

Цитата
Для страниц можно задавать категории.
Из списка или нужна возможность формировать новые?

И с пользователями. Где их комментировать? Отдельная страница с пользователями должна быть?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
bestxp
Если будет хоть один класс или объект у twin будем считать что он написал с использованием ООП)

Императив не подразумевает использование классов и объектов)
Так как не важно как ты обзавешь Auth::login или User::login все равно это ООП
chee

Цитата (twin @ 3.11.2014 - 21:42)
И с пользователями. Где их комментировать? Отдельная страница с пользователями должна быть?

да, просмотр пользователя

Цитата (twin @ 3.11.2014 - 21:42)
Из списка или нужна возможность формировать новые?

Как со модуля категория, так и с других модулей, где указывается новая категория.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
chee
Цитата (twin @ 3.11.2014 - 21:32)
Я никогда не говорил, что классы, это плохо.

Я не хочу видеть у вас объектный код, должно быть все статичным, а классы должны использоваться только как наборы действия, как из ваших примеров с зоопарком. То есть вы не должны совмещать данные и действия.

Просто вы создадите объекты действий, а потом начнете подменять логику другими объектами действий, в итоге это будет ООП. Классы же это всего лишь контейнер функции, потому это не противоречит вашей парадигме.

Если же вы утверждаете, что будете писать использую все парадигме в php, то почему я не должен так делать, объекты могут инкапсулировать все.

Смысл этого топика создать две CMS системы в двух разных парадигмах, что бы все кто задается вопросами об ООП, могли сравнить на живом примере.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Bolik
а почему бы не попробовать продать эти cms? люди смотрю серьезные спорят. вот рынок и решит что круче )
Arh
А всё началось с того, что чувак попросил объяснить ему чем классы удобнее функций.

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

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
twin
Цитата (Arh @ 3.11.2014 - 21:11)
А всё началось с того, что чувак попросил объяснить ему чем классы удобнее функций.

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

Началось с того, что он спросил, в чем преимущество ООП.
В самом вопросе уже была подоплека, что ООП - лучше всех. Как в рекламие - порошок Дося отстирывает в три раза больше пятен.

Преимущество перед чем? Если бы вопрос был задан так, как его услышали вы (потому что кроме bestxp никто других парадигм то и не знает), то есть в такой форме:
Что лучше, процедурный или ООП подход?
Либо так:
Зачем в PHP нужны классы?

Никакого холивара бы не было. Холивар начался, когда я воткнул реплику про императив. А вот тут извините - задели за больное И я буду отстаивать свою позицию, пока не успкоюсь)))

Arh
А вот почему бы тебе тоже не поучаствовать? Начал же вроде. Напиши третий вариант - процедурный. Вот и сравним потом все три и найдем наконец ответ на этот риторический вопрос, что лучше.

bestxp
Цитата
Императив не подразумевает использование классов и объектов)
Так как не важно как ты обзавешь Auth::login или User::login все равно это ООП


Императив гораздо старше ООП. И когда эта парадигма была на пике, классов и объектов не существовало вовсе. Их не изобрели тогда. И соответственно не могли запретить.

Во главе угла парадигм все же не используемые инструменты, а принцип построения. Вот принципы ООП, задекларированные Аланом Кеем, которого считают изобретателем ООП. Подчеркну особо значимые места:

1. Всё является объектом.
2. Вычисления осуществляются путём взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие.
3. Объекты взаимодействуют, посылая и получая сообщения.
4. Сообщение — это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
5. Каждый объект имеет независимую память, которая состоит из других объектов.
6. Каждый объект является представителем (экземпляром) класса, который выражает общие свойства объектов.
7. В классе задаётся поведение (функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.
8. Классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования.
9. Память и поведение, связанное с экземплярами определённого класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.

Императивное программирование подразумевает, что:

1. Программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
2. При этом управление изменениями полностью определено и полностью контролируемо.
3. Парадигма описывает процесс вычисления в виде инструкций, изменяющих состояние программы.
4. Память в императивной парадигме однородна. Доступ к инструкции возможен из любой точки программы.


Вообще весь сыр-бор из-за того, что совершенно глупо писать на высокоуровневом языке одними операторами. Если придираться к этому, то тогда нужно вообще запретить мне пользоваться PHP. Что за поблажки... Значит пользоваться ООП библиотекой PDO мне можно, а если я сам напишу класс-драйвер SQL, то уже нельзя.
Если этот маразм развивать, то вам тоже нужно запретить использовать процедурку в реализации методов. Сказано же четко и ясно - Всё является объектом Если я увижу хоть одну строчку без $obj -> , всё, незачет. Давайте, выкручивайтесь. smile.gif

Важно не какими инструментами пользуешься. Важно как. Я в контексте пользуюсь инструкциями. А как эти инструкции реализованы, моё дело. Функцией, статическим классом или экземпляром - не важно.

Любая программа на высокоуровневом ЯП - мультипарадигменна. И рассматривать её нужно не в области используемых инструментов, а в области построения архитектуры.

Свернутый текст
bestxp Тонкий троллинг я зачел smile.gif Но повелся, чтобы выяснить истину для всех. Для себя в первую очередь.


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.