Если это один и тот же алгоритм расчёта "чего-нибудь" - то можно использовать и один класс.
Если один должен поменяться - значит либо это меняется для всех (скажем изменился алгоритм расчёта ставки налогообложения какой-нибудь), либо это уже разные расчёты.
И с точки зрения архитектуры здесь важно не один там класс или два, а сделать такой интерфейс, чтобы легко можно было подменить один класс другим.
типа TaxCalculatorInterface и оба класса должны его реализовывать.