[c#] 의존성 주입 적용

의존성 주입을 적용하면 클래스 간의 결합도를 줄이고 유연한 구조를 유지할 수 있습니다.

의존성 주입은 세 가지 주요 형태가 있습니다: 생성자 주입(Constructor Injection), 메서드 주입(Method Injection) 및 속성 주입(Property Injection)입니다.

다음은 생성자 주입의 간단한 예시입니다.

public class UserService
{
    private IUserRepository _userRepository;

    public UserService(IUserRepository userRepository)
    {
        _userRepository = userRepository;
    }

    public void RegisterUser(User user)
    {
        _userRepository.Save(user);
    }
}

이 예시에서 UserService 클래스는 IUserRepository 인터페이스에 대한 의존성을 생성자 주입을 통해 받습니다. 이렇게 하면 UserService 클래스를 생성할 때 외부에서 IUserRepository 구현체를 주입할 수 있습니다.

의존성 주입을 사용하면 코드를 테스트하기 쉬워지고 유지보수가 용이해집니다. 이 패턴은 C# 애플리케이션에서 확장 가능하고 유연한 코드를 작성하는 데 매우 유용합니다.