AppConfig
인터페이스 뿐만아니라 구현체까지 의존하는 문제를 어떻게 해결할까? (DIP 위반)
-> 애플리케이션의 전체 동작 방식을 설정(config)하기 위해 구현 객체를 생성하고 연결해주는 책임을 가지는 설정클래스를 만듦
생성자 주입: 생성자를 통해서 구현체를 넣어줌 -> 클라이언트는 인터페이스만 의존함
DI(Dependency Injection) 의존관계 주입: 클라이언트 입장에서는 마치 외부에서 의존관계를 주입해주는것 처럼 보임
AppConfig에서는 역할과 구현 클래스가 한눈에 들어옴(설계도), 사용영역의 코드는 바꾸지 않고 구성영역의 코드만 자유롭게 교체가능
좋은 객체 지향 설계의 5가지 원칙 적용
-SRP: 클라이언트 객체는 실행하는 책임, AppConfig는 구현체 생성과 연결하는 책임
-DIP: 의존관계 주입으로 클라이언트가 추상화에만 의존
-OCP: 구성영역이 바뀌더라도 클라이언트 코드는 변경하지 않아도됨
'웹 프로그래밍 > 스프링' 카테고리의 다른 글
스프링 컨테이너와 스프링 빈 (0) | 2023.02.14 |
---|---|
IoC, DI, 컨테이너 (0) | 2023.02.14 |
좋은 객체 지향 설계의 5가지 원칙(SOLID) (0) | 2023.02.12 |
객체 지향 프로그래밍 (0) | 2023.02.12 |
스프링 이란? (0) | 2023.02.12 |