[정의]
- Framework : 소프트웨어의 특정 문제를 해결하기 위해 상호협력하는 클래스와 인터페이스의 집합.
- 특정 개념들의 추상화를 제공하는 클래스나 컴포넌트들로 구성
- 상기 추상적 개념들이 문제를 해결하기 위해 협업하는 방법을 정의함.
- 재사용 가능한 컴포넌트들의 집합
- 보다 수준 높은 패턴들로 조직화된 구조.
- Library : 소프트웨어에서 호출할 수 있는 함수와 루틴들로 구성.
Framework
- 어플리케이션의 Flow(흐름)을 Framework가 가지고 있다.
- 어플리케이션 코드가 프레임워크에 의해 사용.
- IoC (DI) 개념이 적용되어 있어야 한다.
Library
- 어플리케이션의 Flow(흐름)을 개발자가 직접 제어한다.
** IoC(Inversion of Control)제어의 역전
'Don't call us, we'll call you' (우리한테 연락하지 마세요. 우리가 당신에게 연락할게요.)
- 개발자가 작성한 코드나 객체들의 생성과 소멸(lifeCycle)을 대신 해줌.
DI(Dependency Injection)의존적 주입
- 모듈간의 의존성을 모듈의 외부(컨테이너)에서 주입시켜주는 기능으로 Inversion of Control의 한 종류.
- 런타임 시 사용하게 될 의존대상과의 관계를 Spring Framework가 총체적으로 결정하고 그 결정된 의존특징을 런타임 시 부여한다.
Uploaded by Notion2Tistory v1.1.0