Показать сообщение отдельно
Старый 24.06.2017, 21:06   #20  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,158 / 1286 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
контрагент.Действие() vs действие(Контрагент) это принципиальный подход.
Действительно принципиальный, вопрос в том, выбор одного из двух (трех, четырех, пяти ...) это абсолют или должно быть привязано к текущей задачи, к будущим задачам, к тому что знаем сейчас и к тому, что узнаем позже, можем ли при большем узнавании ситуации менять подход, сколько нам будет стоить это изменение, ну и всякие разности, связанные со словами Концепция и Архитектура.
Простой пример: Кот.Погладить, Погладить(Кот). Пока отвлечемся от русского языка и под погладить будем иметь ввиду не провести горячим утюгом, а нежно ладошкой провести от начала макушки до шеи.
Действие одно, а вот последствия разные и их бы нужно предусмотреть перед тем как выполнить это действие:
  • Искусственно выращенное создание, скорее всего замурлыкает.
  • Что сделает кот, который имеет свободу вообще непредсказуемо - может замурлыкать, а может оставить памятку, заключающуюся в царапине от локтя до запястья.
  • Если это сделать с камышовым котом, то считайте повезло, если у Вас остался хотя бы один глаз из двух.
Нет универсальных вариантов как делать что-то определенное. Все эти паттерны, принципы не говорят что нужно делать только так, а никак иначе. Они просто предлагают, что есть вот такие возможности, а какими именно из них нужно следовать уже зависит от задачи. Только вот чтобы решить использовать ли эти вещи или эффективнее в определенных ситуациях их игнорировать, нужно простое правило - разработчик/архитектор все таки их должен знать.