* 프레임워크란?
- "소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것"
1. 특징
- 어플리케이션의 틀과 구조를 결정할 뿐 아니라, 그 위에 개발된 개발자의 코드를 제어함
- 구체적이며 확장 가능한 기반 코드를 지님
- 설계자가 의도하는 여러 디자인 패턴의 집합으로 구성됨
2. SW 어플리케이션 측면
- 어플리케이션을 개발할 때 기반 구조의 역할을 하는 반제품 소프트웨어 모듈
- 구조적으로 고정된 부분은 개발자들이 구현하지 않고 재활용할 수 있도록 해당 프레임워크가 제공하고 반제품 비즈니스의 추가에 의해서 생기는 로직은 유연하게 추가/변경할 수 있도록 그 골격을 제공하는 반제품
- 어플리케이션 개발 시 반복적으로 나타나는 구조나 기능을 추상화시켜서 구현해 놓고 재사용하고자 하는 기반 구조
- 구조의 확장성을 위해 구조 자체를 확장하는 기법을 제공하기도 함
3. 용어 비교
- 프레임워크 VS 아키텍처 : 프레임워크가 반제품이라면 아키텍처는 설계도와 유사
- 프레임워크 VS 라이브러리 : 프레임워크는 IoC를 지원하지만 라이브러리는 개발자가 이용
- 프레임워크 VS 컴포넌트 : 프레임워크 안에 채워지는 것이 컴포넌트
4. 프레임워크 기반 개발
- 구조
- Inversion Of Control (IoC)
5. 프레임워크 기반 개발의 장점
- 빠른 구현 시간 : 프레임워크를 사용하게 되면 기반구조를 그대로 사용하고 어플리케이션만의 비즈니스 로직과 관련된 부분만을 구현하면 되기 때문에 구현 양이 적어지게 되고 보다 빠르게 어플리케이션을 만들 수 있다.
- 관리 용이성 : 같은 프레임워크가 사용된 어플리케이션은 서로 비슷한 구조를 가지게 되어 관리하기가 쉬워진다.
- 테스트 용이성 : 프레임워크를 재사용하게 되면 기존에 수행된 테스트들도 재사용하게 되는 것이라 어플리케이션의 테스트에 대한 부담이 줄어듬. 프레임워크를 사용하면서 새로 구축한 모듈에 대한 테스트만 수행해도 되므로 테스트에 대한 작업이 줄어들게 됨
- 프레임워크 기반 개발의 그 밖의 장점
> 편리한 사용환경 제공 , 표준절차 및 프로세스 지원, 재사용성 보장, 유지보수의 용이성 보장, 시스템 공통모듈 제공 및 레이어 독립, 시스템 확장성 보장, 다양한 어플리케이션 지원, 플랫폼 독립성 보장
'프로그래밍이야기 > 기타 등등' 카테고리의 다른 글
| 자바 패스 등록방법. Java Path. (0) | 2024.01.18 |
|---|---|
| 재사용 향상을 위한 SW 아키텍처 패턴 MVC(Model-View-Controller) (0) | 2024.01.18 |
| 오토박싱과 언박싱이란? (0) | 2024.01.18 |
| 서블릿(Servlet) -> JSP -> EL/JSTL[ 왜... Sun은 웹에 java를 올리기 싫어하는가??] (0) | 2024.01.18 |
| Call by Value & Call by Reference[콜바이벨류 & 콜바이레퍼런스] (0) | 2024.01.18 |