본문 바로가기

웹 프로그래밍/스프링

AppConfig

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