728x90
반응형
프레임워크
- 사전적 의미는 '어떤 것을 구성하는 구조 또는 뼈대'이다.
- 이를 소프트웨어적으로 풀어 사용하면, 클래스나 인터페이스등을 만들어 어느정도 완성된 상태로 제공하는 기능이라 볼 수 있다.
- 한 마디로 자주 사용되는 클래스나 인터페이스들을 미리 만들어놓음으로써 개발자의 입장에서 자신이 필요로 하는 곳에 언제든지 쉽게 변형하여 사용할 수 있도록 만든 것이다.
- 프레임워크를 사용하면 일정한 기준에 따라 개발이 이루어지기에 개발 생산성이 올라가고 품질이 보장된다.
라이브러리
- 활용 가능한 도구들의 집합을 의미한다.
- 개발자는 미리 작성된 라이브러리를 호출하여 적재적소에 사용할 수 있다.
프레임워크와 라이브러리
- 흔히 프레임워크를 퍼즐판, 라이브러리를 퍼즐 조각에 비유하곤 한다.
- 프레임워크는 전체적인 흐름을 미리 정의해놓고 있으며, 개발자는 그 안에 필요한 코드를 직접 만들어 사용한다.
- 그에 비해 라이브러리는 전체적인 흐름을 미리 정의하지 않는다. 개발자 본인이 직접 전체적인 흐름을 만들며, 그 안에서 필요한 곳에 라이브러리를 호출하여 작성한다.
- 즉, 프로그램의 흐름이 프레임워크는 가지고 있고, 라이브러리는 가지고 있지 않다.
스프링 프레임워크
- 자바 웹 어플리케이션 개발을 위한 오픈 소스 프레임워크.
- 기존의 프레임워크보다 가벼운 경량 프레임워크이다.
스프링 프레임워크의 특징
1) EJB보다 가볍고 배우기 쉬우며 경량 컨테이너의 기능을 수행한다.
- 자바 객체의 생성, 소멸과 같은 라이프 사이클을 직접 관리한다.
2) 제어 역행을 이용해 어플리케이션 간 느슨한 결합을 제어한다.
- 전체적인 흐름을 개발자가 아닌 프레임워크에게 부여한다.
- 즉, 사용자가 프레임워크의 코드를 호출하는 것이 아니라 프레임워크가 사용자의 코드를 호출한다.
- 이러한 방식은 어플리케이션의 결합도를 낮춘다.
3) 의존성 주입 기능을 제공한다.
- 각 계층이나 서비스 간 의존성을 개발자가 설정하는 것이 아니라 스프링 컨테이너가 주입한다.
- 객체의 확장과 재사용을 쉽게 만들어준다.
4) 관점지향 프로그래밍 기능을 이용해 자원 관리가 가능하다.
- 로깅, 보안과 같이 어느 기능에나 공통적으로 사용되는 모듈들을 따로 분리해서 적용한다.
- 반복적인 코드를 줄이고, 개발자로 하여금 비즈니스 로직에만 집중할 수 있도록 한다.
5) POJO (Plain Old Java Object)
- 환경과 기술에 종속되지 않고 언제든 재활용될 수 있는 방식으로 설계된 오브젝트이다.
- 특정 인터페이스를 구현하거나 특정 클래스를 상속받지 않아도 된다.
728x90
반응형
'IT 지식 > 웹 프로그래밍' 카테고리의 다른 글
[웹 프로그래밍] HTTP Method (0) | 2021.04.02 |
---|---|
[웹 프로그래밍] 쿠키, 세션, 캐시 (0) | 2021.04.02 |