본문 바로가기
전공/Computer Science

Framework vs Toolkit vs Library! 프레임워크, 툴킷, 라이브러리 차이점

by import ysy 2022. 8. 5.

http://tom.lokhorst.eu/2010/09/why-libraries-are-better-than-frameworks

  • 라이브러리는 더 자세하고 좁게 정의된, 확실한 기능만을 위한 operation다.
  • when you call a library, you are in control. 
    • 예시: 네트워크 프로토콜, 이미지 조정, math library... 기능들이 스스로에게 포함되어 있는 것들 

 

  • 프레임워크는 어플리케이션이 구조물을 채움으로써 기능할 때 그 구조물을 말한다. 그 구조물에는 여전히 부분을 연결하는 코드가 있지만 가장 중요한 작업은 애플리케이션에서 수행한다.
  • 즉 컨트롤 플로우가 이미 구현되어 있다.(predefined)
  • the control is inverted.the framework calls you. 
    • 예시: 웹 어플리케이션 시스템, GUI 시스템... 프레임워크는 concept정도로 생각하면 되지만 어플리케이션은 사용자가 직접적으로 사용하는 기본적인 기능으로 정의된다.

 

  • 툴킷은 보다 모듈화. 사용자가 선택해서 쓰는 독립적인 라이브러리 느낌
  • 비슷한 기능의 라이브러리와 프레임워크의 집합이라는 의견도 있음.
    • 예시: openSMILE

 


아래도 참고할만한듯

Inversion of Control is a key part of what makes a framework different to a library. A library is essentially a set of functions that you can call, these days usually organized into classes. Each call does some work and returns control to the client.
A framework embodies some abstract design, with more behavior built in. In order to use it you need to insert your behavior into various places in the framework either by subclassing or by plugging in your own classes. The framework's code then calls your code at these points.

출처: https://martinfowler.com/bliki/InversionOfControl.html

 

bliki: InversionOfControl

a bliki entry for InversionOfControl

martinfowler.com


이번 포스팅은 아래 링크를 참고했는데, 해당 페이지에서도 이 셋의 구별이 분분하기 때문에

아주 정확한 정의를 탐구하기 보다는 뉘앙스만 판단하기로 했다.

 

 

참고: https://stackoverflow.com/questions/3057526/framework-vs-toolkit-vs-library

반응형

댓글