この記事は C# Advent Calendar 2020 17日目の記事です。 はじめに C#を書いている人なら一度はインターフェースという機能を見たことがあるだろう。 メソッド、プロパティなどの定義だけを記述しておき、実装を強制できるあれのことだ。 一体あんなものが何の役に立つんだろうか。 私は最初そんなことを思っていた。 しかし、テストコードを書きたいと思ったときインターフェースはとても役に立つことに気づいたんだ。 この記事ではテストが難しいコードに対し、インターフェースを使用し、テスタブルなコードに変更していくことで、インターフェースについて理解を深められたらと思う。 対象者 この記事は以下のような人を対象とする。 インターフェースの使い所やメリットがいまいち良くわからないという人 テスタブルなコードを書きたいと思っている人 それでは始めよう。 例題 入力した文字列をラベルプリンタ