더북(TheBook)

30.4.4 따라하기 3: 생성자에서 직접 클래스의 인스턴스 생성

1. DependencyInjectionDemoController.cs 컨트롤러 클래스를 열고 다음과 같이 코드를 변경한다.

▼  Controllers/DependencyInjectionDemoController.cs 코드 변경

using DotNetNote.Services;
using Microsoft.AspNetCore.Mvc;

namespace DotNetNote.Controllers
{
  public class DependencyInjectionDemoController : Controller
  {
      private CopyrightService _svc;
      public DependencyInjectionDemoController()
      {
          _svc = new CopyrightService();
      }

      public IActionResult Index()
      {
          ViewBag.Copyright = _svc.GetCopyrightString();

          return View();
      }

      public IActionResult About()
      {
          ViewBag.Copyright = _svc.GetCopyrightString();

          return View();
      }
  }
}

 

이번에는 각각의 액션 메서드에서 서비스 클래스의 인스턴스를 생성하고 메서드를 호출하는 대신 컨트롤러 클래스의 생성자에서 한 번 인스턴스를 생성한 후 _svc 변수로 Index 액션 메서드와 About 액션 메서드에서 함께 사용해보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.