CS

[IT]Framework와 Library의 차이

뱅타 2021. 4. 22. 19:23

[정의]

  • Framework : 소프트웨어의 특정 문제를 해결하기 위해 상호협력하는 클래스와 인터페이스의 집합.
    1. 특정 개념들의 추상화를 제공하는 클래스나 컴포넌트들로 구성
    1. 상기 추상적 개념들이 문제를 해결하기 위해 협업하는 방법을 정의함.
    1. 재사용 가능한 컴포넌트들의 집합
    1. 보다 수준 높은 패턴들로 조직화된 구조.

  • 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가 총체적으로 결정하고 그 결정된 의존특징을 런타임 시 부여한다.

728x90
반응형