За последние 24 часа нас посетили 55689 программистов и 1708 роботов. Сейчас ищут 1024 программиста ...

Почему «родитель» не должен знать про «детей»?

Тема в разделе "PHP для новичков", создана пользователем Walk, 13 ноя 2017.

  1. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Это все здорово и понятно (хотя, согласись, задача у UrlManager вполне конкретная), но где в моих словах:

    Ты увидел неабстракцию? В моем примере нет вообще какого-либо описания конкретного функционала объектов.
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Объекты дочерних классов должны быть разновидностью объектов родительских классов. В противном случае, лучше применить другие отношения - агрегирование, например.
     
  3. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Мне в свое время помогло чтение вот этого ресурса РефракторингГуру
     
    romach нравится это.
  4. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    Вперёд в "поиск" - там написано, и не раз.
    Или "чукча не читатель, чукча писатель"? ;)
     
  5. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Так читал, и не раз ;)

    Меня просто удивило, как человек с ходу определил, что я там что-то не понимаю. Стало интересно послушать, что же не понимаю.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты не понимаешь принцип понимания
    никто из нас не постулировал что класс должен или не должен.
    ты пришел и сразу задал вопрос "почему не должен"
    это сразу всё усложняет, т.к. сначала надо понять должен ли вообще, и кто тебе это сказал. Потом надо понять, где именно и в каких условиях должен, а в каких - не должен. Вот только после того, как в голове будет нарисована эта карта, можно будет ответить на вопрос про какой-то конкретный класс в конкретных условиях, должен ли он или не должен знать про своих детей. Только в этих условиях этой ситуации ответ на этот вопрос будет верным.
    В других условиях другие ответы на этот вопрос могут быть верными или не верными, т.к. там будут другие задачи и условия.

    Если ты приходишь на форум за абсолютным знанием, применимым во всех ситуациях, не зависимо от условия - то ты неправильно понимаешь, как устроена реальность.

    Соотв, придя с таким вопросом ты получил целую кучу разных ответов про разные ситуации и правильно/неправильно. Т.е. впринципе неправильно так делать. А как правильно?

    Правильно попытаться понять границы применимости. Понять, когда хорошо, а когда не хорошо родителю знать детей. А не искать "правильный" ответ на такой вопрос.
     
    [vs] нравится это.
  7. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Агент Смит, перелогиньтесь ))
     
  8. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    Чем отличается класс от объекта.
     
    [vs] нравится это.
  9. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    и границы возможного. Ассоциация родитель-наследник в парадигме симплексная...
     
  10. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Так в этом и цель - послушать разные точки зрения.

    Тем же, чем чертеж стула отличается от самого стула.
     
  11. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    >> Тем же, чем чертеж стула отличается от самого стула.
    Молодец. Тогда тебе не нужен ответ на твой вопрос, ибо тебе он известен.