Я бы использовал наследование, если для вас, например, имеет смысл, что PriceReminderWorker
и PriceNotificationWorker
являются PriceWorker
, а методы, которыми вы хотите поделиться, имеют смысл в контексте PriceWorker
. Например, в Rails имеет смысл, что все модели являются ApplicationRecord
. Я бы включил методы в модуль, если методы, которыми вы хотите поделиться, просто используют некоторые общие «черты», которые разделяют оба класса. ,Например, в Ruby и класс Array, и класс Hash имеют «черту», они оба реализуют метод foreach
, который может принимать блок и вызывать этот блок для каждого члена своей коллекции. В этом случае оба класса включают модуль Enumerable
.