1.프레임워크
개발자가 코드를 짜기 위한 골격,뼈대를 갖춰놓는것을 말한다. 그래서 작업 시 중요한 것만 신경을 쓸 수 있도록한다.
즉, 일정한 형태와 기능을 미리 갖추고 그 안에서 개발자가 필요한 부분만으로도 개발이 가능하도록한다.
2.라이브러리
특정기능을 모아둔 코드, 함수들의 집합, 코드 작성 시 활용하는 도구
즉, 미리 구현해놓고 필요에 따라서 호출하여 사용
🦋 위의 두가지를 비교?
비유해보자면 프레임워크는 자동차,비행기,배와 같이 어떠한 목적에 맞게 사용하고 내가 하나씩 다 조작할 필요 없이 조작 해야할 부분만 조작하면 진행이 가능하다. 그리고 각각의 도구들은 대체가 어렵다. 바다를 건너는데 차를 사용할수는 없기때문이다.
그래서 프로젝트 진행시에도 목적에 맞게 선택하여 사용해야한다.
다음으로 라이브러의 경우 톱,망치와 같이 어떠한 작업의 결과를 얻기 위해 필요한 제작 도구이다.
각각의 도구들은 대체가 가능하다. 굳이 이거 아니더라도 원하는 결과만 도출하면 되기때문에 다른 도구를 사용해도 되기 때문이다.
비유해서 정리하니 기억이 잘남는다..ㅎ
차이점
제어흐름에 차이가 있다.
이 제어흐름이라는 것은 누가 작업 시 언제 어디서 호출할지 결정하는 것이다.
여기서 제어의 역전(Inversion of Control,IoC)의 개념을 알 수 있다.
**제어의 역전
예를 들어서 택시를 탔을 때 기사님에게 목적지만 얘기하면 알아서 가주신다면 손님은 엄청 편할 것이다.
근데 만약 내가 하나부터 열까지 다 얘기하면서 가면 힘들 것이다. 지금 처럼 손님이 상위모듈이고 기사님이 하위모듈이라면 상위모듈이 하 위모듈을 하나씩 제어하지 않고 하위모듈이 알아서 제어하여 상위모듈에게 알려주는 것을 제어의 역전이라고 한다.
이 예만 봐도 편할것이다.
이 제어의 역전의 장점으로는 대표적으로 2가지가 있다.
1.유지보수비용이 적다.
2.구현이 단순화된다.
여기서 프레임워크는 IoC를 사용하고 라이브러리는 IoC가 적용되지 않는다.
위의 정리처럼 프레임워크의 경우 이미 다 만들어놓은 골격들에 맞춰서 개발자가 필요한 부분만 작업을 하면되기 때문에 프레임워크에게 제어권이 있다.
그러나 라이브러리는 이미 만들어진 코드와 도구들을 내가 필요한 작업에 맞춰서 그때마다 사용을 하는 것이기 때문에 개발자에게 제어권이 있다.
참고 블로그)
https://tecoble.techcourse.co.kr/post/2021-05-14-inversion-of-control/
'CS지식💪' 카테고리의 다른 글
HTTP란? HTTP의 메세지 구조 (0) | 2023.03.30 |
---|---|
캐시의 장단점 (0) | 2023.03.29 |
Parameter & Argument (0) | 2023.03.28 |
Hoisting & TDZ (0) | 2023.03.28 |
렌더링 과정 (0) | 2023.03.27 |