За последние 24 часа нас посетили 18573 программиста и 1612 роботов. Сейчас ищут 1965 программистов ...

Как определить ответственность?

Тема в разделе "Прочие вопросы по PHP", создана пользователем equentor, 20 апр 2017.

  1. equentor

    equentor Новичок

    С нами с:
    20 апр 2017
    Сообщения:
    4
    Симпатии:
    0
    У меня такой вопрос назрел. Представим что у нас сайт-магазин, не будем вдаваться в тонкости реализации. Есть 2 сущности Market и User соответственно. Отсюда встаёт вопрос, дать юзеру метод покупки User::buy($item), или магазину метод продажи Market::sell($user, $item)? По факту итог один, но всё-таки чьи это полномочия? Таких примеров массу могу привести, например Driver и Car, правильно будет Driver::drive($car) или Car::ride($driver)? Может быть есть вопрос, который стоит задавать себе при таких колебаниях?
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Да есть. Кто инициирует действие, того и метод в твоем случае. А вообще, делай как тебе удобно и так, как тебе диктует архитектура.
     
  3. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    пекарь печёт хлеб или печь печёт хлеб?
    нужно сделать фабрику фабрик.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Нужно сесть, продумать архитектуру, и потом уже пилить приложение, а не сначала пилить приложение, а потом, на ходу, думать, что там как должно взаимодействовать.