[spring] 프레임워크 알아보기
🗂 프레임워크 알아보기
프레임워크란?
- 보안, 확장성, 안정성 등의 비기능정 요구사항을 만족하는 구조와 구현된 기능을 안정적으로 실행하도록 제어해주는 구조
- 개발자들이 좀 더 쉽고 편하게 하부구조를 구현할 수 있도록 해줌
- 개발을 편리하게 해주는 라이브러리의 집합
- 프레임워크 !== 디자인 패턴
[디자인패턴과 프레임워크]
디자인패턴 | 프레임워크 |
---|---|
어플리케이션 설계시 구조적인 가이드라인 | 디자인패턴을 기반으로 구체적인 기반 코드제공 |
라이브러리란?
- 개발자가 만든 코드에서 호출하여 사용할 수 있는 도구
- 자주 사용하는 기능들을 구현이 편리하게 미리 설정해 놓은 것
[라이브러리와 프레임워크]
라이브러리 | 프레임워크 | |
---|---|---|
호출 흐름 | 프레임워크 코드가 유저 코드 호출 | 유저 코드가 라이브러리 호출 |
객체 연동 | 구조 프레임워크가 정의 | 독자적으로 정의 |
실행 흐름 | 프레임워크가 제어 | 개발자가 제어 |
- 라이브러리는 개발자가 직접 호출하여 사용해서 제어권이 개발자에게 있지만 프레임워크는 IoC로 제어권이 프레임워크에게 있음 ==> 가장 큰 차이는 제어권 (실행 제어권이 누구에게 있는가)
“🖼 디자인패턴 + 📚 라이브러리 == 프레임워크 “
프레임워크는 디자인패턴과 그 디자인패턴이 적용된 라이브러리의 결합으로 볼 수 있음