DIP 2

C# 기초부터 고급까지 Chapter 2.2. 의존성 주입(DI) – .NET 기본 DI 완전 정복

📚 Chapter 2.2: 의존성 주입(DI) – .NET 기본 DI 완전 정복1️⃣ "의존성(Dependency)"이란 무엇인가?✅ Dependency(의존성) = "내가 동작하려면 필요한 다른 것"예를 들면:자동차(고수준)가 엔진(저수준)에 의존한다NotificationService(고수준)가 IMessageSender(저수준)에 의존한다"내가 뭘 해야 하는데, 다른 놈한테 기대야 한다" 이거다!2️⃣ "문제는" 직접 new로 만들어 버린다는 거야🔥 나쁜 구조 예시public class NotificationService{ private EmailSender _emailSender = new EmailSender(); // 직접 new로 만듬 public void SendNotific..

C# 2025.04.28

C# 기초부터 고급까지 Chapter 2.1.5. DIP (Dependency Inversion Principle) – 의존성 역전 원칙

📚 Chapter 2.1.5. DIP (Dependency Inversion Principle) – 의존성 역전 원칙✅ DIP란?"고수준 모듈은 저수준 모듈에 의존하면 안 된다.둘 다 추상(인터페이스, 추상 클래스)에 의존해야 한다."쉽게 말하면,구체적인 구현체에 직접 매달리지 말고인터페이스(추상)에 의존하라는 거다!📚 왜 DIP가 중요한가?문제 상황결과코드가 구체 구현에 묶여 있음기능 교체/확장 시 코드 수정 폭발테스트 힘듦Mock 객체로 대체 불가능확장성 제로새로운 기능 추가 때마다 대공사✅ DIP를 지키면 →기능 변경 자유로워지고테스트 더 쉬워지고코드 재사용성 쭉 올라간다!🛠️ 기본 나쁜 예제: DIP 위반public class EmailSender{ public void Send(str..

C# 2025.04.27