개발 언어 & 프레임워크/C# 프로그래밍 마스터하기
인터페이스와 의존성 주입(DI) 구조 설계
프로잉2
2025. 5. 29. 20:18
728x90
📘 개념 요약
인터페이스와 의존성 주입(DI)은 객체 지향 설계의 핵심으로, 결합도를 낮추고, 확장 가능하고 테스트 가능한 구조를 만드는 데 필수입니다.
🧠 용어 설명
용어 | 설명 |
Interface | 동작만 정의, 구현은 별도 클래스 |
DI (Dependency Injection) | 외부에서 필요한 객체를 주입 |
Loose Coupling | 모듈 간 결합도 최소화 |
IoC Container | DI 자동 관리 도구 (ASP.NET Core 기본 제공) |
💻 코드 예제
public interface ILogger
{
void Log(string message);
}
public class ConsoleLogger : ILogger
{
public void Log(string message)
{
Console.WriteLine($"[로그]: {message}");
}
}
public class App
{
private readonly ILogger _logger;
public App(ILogger logger)
{
_logger = logger;
}
public void Run()
{
_logger.Log("프로그램 시작됨.");
}
}
🔧 사용법 정리
- 테스트 시 FakeLogger 등으로 쉽게 교체 가능
- ASP.NET Core에서는 생성자 기반 DI 기본 제공
- 유지보수성과 모듈화 향상
🏷 추천 태그
C#, DI, 의존성 주입, 인터페이스, 객체지향 설계, 테스트 가능 코드, SOLID, IoC, 유지보수
728x90