その物次第としか言いようがないな
StringBuilderみたいなそれだけで完結しててインフラへの依存もないなら抽象化は別にいらない
インフラ依存のクラスなら注入のために抽象化して欲しい
IEnumerableみたいにバリエーションが豊富で多態のメリットが大きければ抽象化したい
フレームワークぐらいの規模ならカスタムクラスのための抽象モデルを用意すべき