Resharperを使用して、以下のメソッドEat
が別のクラスに抽出され、新しく抽出されたDinner
クラスが外部依存関係としてクラスに挿入されるようにコードをリファクタリングすることは可能ですか?
元のコード
public class Dinner
{
public Dinner()
{
}
public void Eat()
{
//do the eating
}
}
リファクタリングされたコード
public interface IEatService
{
void Eat();
}
public class EatService : IEatService
{
public void Eat()
{
}
}
public class Dinner
{
private readonly IEatService _eatService = null;
public Dinner(IEatService eatService)
{
_eatService = eatService;
}
public void Eat()
{
_eatService.Eat();
}
}
リファクタリングされたコードとまったく同じである必要はありません。これは、アイデアを与えるために示されています。