• Где взять актуальную статистику по используемым ОС?

    SowingSadness
    @SowingSadness
    Смотреть статистику по w3schools (статистика исключительно по их проектам), это как поспрашивать у друзей.
    Ну поспрашивали вы, а смысл?
  • Отличая Symfony 2 и Yii?

    SowingSadness
    @SowingSadness Автор вопроса
    Советую дальше работать с Yii и радоваться жизни :)
    В ZF2 и Sf2 не более «мощные», они более мудреные, при этом без пользы делу.
  • Отличая Symfony 2 и Yii?

    SowingSadness
    @SowingSadness Автор вопроса
    Inori Снимаются вопросы по тому, как предполагается использвоание Symfony в проектах.
    Все претензии к плохой архитектуре, остаются.
  • Мой сайт заставляют переехать

    SowingSadness
    @SowingSadness
    Кстати, а принадлежит ли домен SU Российской Федерации?
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Для родительского класса не важно, для кого открыто его состояние.. Если оно открыто, то на него уже могут быть зависимости.

    И как это противоречит тому, что я сказал?

    Хотя в принципе, я во многом с вами согласен.
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    хорошо, простите за несдерженность
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Состояние открыто для потомков, а не открыто вообще.
    Потомок это такой же объект, со своим состоянием.
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Не уверен что это корректное решение, особенно если мы дело имеем с потоками.
    Вообще итератор должен сам ходить по множеству — это его задача.

    Однако если абстрагироваться от задачи и только рассматривать проблему, что можете сказать?
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Private оправдан в тех случаях, если неправильное переопределение метода или атрибута наследником может привести к появлению некорректного состояния объекта (реализации нарушения инкапсуляции).

    опять же, приходим к тому, что private нужен лишь для того, что бы скрыть запретить третьим разработчикам смотреть и менять состояние в целях безопасности системы. Т.к. если разработчики модифицируют вашу систему и не могут получить доступ к свойствам — то это проблема в расширяемости вашего продукта.

    Ваша ошибка в том, что вы сравниваете protected в первую очередь c private, хотя на самом деле разница между protected и public намного меньше, чем между private и protected.

    Как у меня может быть ошибка, если я задаю вопрос?
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Честно, пытался понять, как из тезиса следует вывод — не смог.
    Смена области видимости метода с private на protected никак не влияет на то, что родительский класс чего то лишиться.
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Мне не нравится такое :)
    Я более чем уверен, что решение есть, просто мы его не понимаем.
    Этот же случай был и для уровня абстракции, который все же нашелся
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Проблемы будут как раз из-за того, что это не входит в интерфейс и почти всегда нарушает два принципа из SOLID, а именно Open/closed principle и Liskov substitution principle.

    Это опять же можно принимать к системе, которую мы отдаем третьим разработчикам с описанием API.
    Спасибо, ваша мысль в том же направлении(что и выше в комментариях), и мне кажется, что истина уже где то рядом :)
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Кстати, спасибо за мысль про API
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    1. Лучше не давать советы про опыт. Как минимум это не прилично, как максимум, можете не попасть в просак говоря это человеку, у которого опыта больше вашего(я не говорю про себя, я говорю в общем)
    2. У вас очень интересная мысль. Вы воспринимаете расширение класса, как API. А значит все что вы говорите, касается безопасности системы. И если подытожить, то получаем, что скрывать свойства и методы для наследников нужно в том случае, если это угрожает безопасности системы. В случае с framework такой необходимости я пока не наблюдаю.
    В случае с SDK — это необходимо.
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Извините, не могли бы вы свой подход адаптировать под мой пример выше? А то я не совсем понимаю вашу мысль.
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Хорошо — опыт.
    Те кто говорил про опыт, а на деле не может понять MVC из-за отсутствия теории гораздо больше тех, кто молчал про опыт и действительно понимал его.
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    DevMan заранее прошу прощения за мою резку реакцию. Просто вы задели одну из тех немногих тем, которые меня выводят из душевного равновесия.

    Если вам сложно что-то объяснить, а в данном случае, я думаю вы и не сможете — значит что вы не понимаете предмета.
    Если вы ссылаетесь на временной опыт, без теоретической основы, значит все что вы знаете по предмету, скорее всего ошибочно — сродни алхимии, где пытались понять методом перебора.
    К тому же, тот кто действительно обладает опытом, тот ищет теоретическую базу, что бы подправить свои знание, а в некоторых моментах удостовериться, что был прав.
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    На счет писать разработчикам, что у них баг.
    Я буду это делать лишь тогда, когда разберусь в чем проблема.
    Либо воспроизведу его у себя на чистой установке.

    Взял за правило — пока не разобрался, разработчиков не трожь. И люблю, когда к моему продукту относятся так же.
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Пока я не могу понять какая логика должна быть внутренней а какая нет. Все это на уровне чувств и никак не формализована :(
    На счет расширение framework. Уже сталкивался несколько раз, что приходилось лезть в исходники и менять уровень доступа к методам и полям, т.к. без этого расширение базового функционала сводилось к полному переписыванию.
  • Private методы и свойства

    SowingSadness
    @SowingSadness Автор вопроса
    Другими словами вы предлагаете тем, кому необходимо перегрузить «базовый» функционал, переписывать полностью.
    Спасибо за совет, я подумаю.