보통 소프트웨어는 main함수에서 시작하여 그 안에서 어떠한 오브젝트를 생성할지 정하고,생성하는 작업을 포함하는 로직으로 진행된다.
IoC 제어의 역전은 필요한 오브젝트를 생성하고 각각의 관계설정 등을 프레임워크나 컨테이너 등이 진행한다.
각 오브젝트는 자신이 어디서 생성되고 어떻게 사용되는지 전혀 알 수 없다. 자신의 로직(알고리즘)에만 집중하게 되는 것이다.
이러한 패턴을 적용하면 설계가 깔끔해지고 유연성 및 확장성이 증가한다.
어플리케이션
- 컴포넌트: 로직을 담고있음
- 팩토리: 설계도(컴포넌트 생성 및 관계설정)/어플리케이션 컨텍스트와 그 설정정보
출처: 토비의 스프링
'Spring > 개념' 카테고리의 다른 글
JPA Auditing 이란? (0) | 2022.01.14 |
---|---|
gradle 개념 정리 (0) | 2022.01.03 |