Чем concerns отличается от service objects и когда что выбирать?

Ruby / RailsMiddleRails CoreСравнениеrails core|concerns|ruby|rails

Что хотят услышать интервьюеры:

Сравнение: «concerns» обычно оценивают в паре с service objects. Выбор зависит от читаемости, Rails conventions, стоимости поддержки, безопасности, нагрузки и тестируемости.

Ответ:

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

Плохой ответ: «так принято в Rails» без объяснения последствий.

module SoftDeletable extend ActiveSupport::Concern end

Источники

Похожие вопросы