HraKK

HraKK
Рейтинг
128
Регистрация
02.03.2009

zzeus, можно, но поддержка такого проекта - смерть. Понимаешь спроекты имеют свойство развиватся и изменятся. Архитектура построенная на ФП, имеет множество недостатков.

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

Chikey.ru,

Chikey.ru:
Какой смысл проверять на array, это пустое?

Вот опять же это в тебе говорит то что ты не работал с нормальными системами, и работаешь в одиночку. Тут аррай служит для того чтоб когда ты решишь заюзать этот обьект нормальная IDE подсветит что этот обьект ожидает массив, а не что-то другое. А во вторых если кто-то эо просмотрит, то PHP сам ему об этом скажет. А не ты будешь искать в чем проблема.

Chikey.ru:
максимальная приватность класса

Что такое максимальная приватность класса? Вообще private можно использовать только в final классах, в других надо protected. А во вторых, как бы тебе объяснить, это не моя прихоть, это архитектура на ооп. Когда ты отходишь от сборника функций собранных под эгидой класса, как это например используется тут или в джумле. Да практически везде. И когда уходим от излишней параметризации, так оно и выходит.

тоже проверка на соответствие интерфейсу, зачем она?

В чем принципиальная разница проверять на наличие интерфейса или перехватывать потом ошибку вызванную тем что обьект не соответствует интерфейсу. В том что в первом мы предупреждаем, а во втором подавляем(пусть даже и обработаем).

Chikey.ru:
должны ловится исключениями, я прав?

Это вообще лежит за плоскостью ООП. Это более базисный элемент.

И ты не прав, надо не ловить ошибки, а говорить о них. Рассмотри ситуацию, человек передал мне туда не тот объект. В моем случа при запуске ему на экран выведется ошибка "Ваш объект не реализовывает _такой_то_ интерфейс", он это увидет и сразу исправит.

В твоем случае передав например массив из 10 объектов и 1 не тот, класс сгенерирует fatal error необоснованно. Который, ты потом перехватишь. Но это из жопы. Прочитай на досуге что такое интерфейсы, для чего они служат. Если не делать проверки на интерфейсы - зачем тогда они вообще нужны.

Так что я бы советовал бы тебе сменить свое мнение о понимании тобой ООП. Но это так для тебя совет которым ты не воспользуешься :)

Chikey.ru:
вообще показанный класс

Зачем? На этом форуме 99.9% не знают ООП. Кому показывать? Что показывать?

Chikey.ru, вы не аргументируете свои посты, что я напишу кроме общих фраз? Я например не понимаю что такое принципиальность ООП.

Аргументируйте, напишите мне код который там должен быть и напишите почему.

если бы я не знал ооп я бы молчал в тряпочку

Крайне спорное заявление, 90% программистов ПХП считают что знают ООП. Но в действительности, хорошо если 10-20%.

zzeus, граммотно можно писать и без ООП. Например биллинговые операции, платежные системы. Сложный распределенные системы только ООП. Ну еще можно AOP, или EOP. Но функциональное - выкинуть.

Chikey.ru, стандартное заявление человека не знающего ООП и не использующего его.

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

bearman,

а зачем проверять что интерфейс наследуется?

Да я не доверяю себе и другим людям которые будут работать. Как только они что-то всунут другое они увидят ошибку, а не будут 2 дня дебажить код.

zzeus,

zzeus:
2HraKK - у вас там MVC фреймворк чтоле?

конечно.

blogolet, естественно использовать значение по умолчанию зло, а eval - нет) Я с тобой согласен. И естественно Вы мне сейчас аргументируете почему по умолчанию использовать зло? Тем более тут носит информативный характер, чтоб программист знал что там массав.

Любой может писать код понятный компьютеру, другое дело писать код понятный человеку

Chikey.ru,

Chikey.ru:
HraKK, я пронаблюдал несколько десятков бесполезного кода. чтобы вы не говорили, но это не стоит того. количество потраченных строк и проц мощности несозмеримо с пользой. кисс, дру и гетреал

В саллетитах и остальных говносайтов, несоизмеримо. Для хорошей цмс, да и вообще любого проекта соизмеримо.

А о процессорном времени вообще б не заикались. Грамотно написанная ООП цмс, работает быстрее чем былоджумлы, wp и Битриксы.

joost, правильно.

Вернее какой-то минус для молодых сайтов можно получить, но очень сложно.

Правильный ответ был бы отослать на http://phpfaq.ru/debug

Но раз ТС учит по Е.П. то это клиника и такой совет тогда допускается.

А что кто-то надеялся тут на тИЦ оО?

Мне не интересно что-то доказывать и показывать. Я не выставляю еще этот продукт. Я не расхваливаю) Я лишь привел что бывают цмс не в той площади в которой лежит WP, Joomla и т.д.

Кстати, если что с бывшим ведущим программистом Magento, который стоял в истоках, я пью периодически пиво. И он сказал что мое лучше.

Yanzhula:
а можно кусочек хотя бы, посмотреть?


class Core_Response
{
protected $responseArray = array();

public function __construct( array $responseArray )
{
$this->responseArray = $responseArray;
}

public function response( Core_Router_Chain_Interface $chainObject )
{
foreach ( $this->responseArray as $responseClass )
{
if( class_exists( $responseClass ) )
{
$responseObject = new $responseClass();
if( !$responseObject instanceof Core_Response_Interface )
{
continue;
}
if( false !== ( $answer = $responseObject->response( clone $chainObject ) ) )
{
$responseObject->index( $answer );
break;
}
}
}
}
}

укр яндекса нету хостов. мизерная популярность его на укр =)

думаю не большее 20%

1$ за тиц ежемесячно. гарантия BL 100+

Всего: 1724