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 액션 메서드에서 함께 사용해보자.

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