본문 바로가기
정보처리기사

[정보처리기사 이론 정리]프레임워크(Framework)

by 기출문제 전문가 2022. 3. 25.
728x90
반응형

<프레임워크(Framework)>

 

효율적인 정보 시스템 개발을 위한 코드 라이브러리, 애플리케이션 인터페이스(Application Interface), 설정 정보 등의 집합

재사용이 가능하도록 소프트웨어 구성에 필요한 기본 뼈대를 제공

 

1. 특징

 

(1) 모듈화(modularity)

 

프레임워크는 인터페이스에 의한 캡슐화를 통해서 모듈화를 강화하고 설계와 구현의 변경에 따르는 영향을 극소화하여 소프트웨어의 품질을 향상시킨다.

 

(2) 재사용성(reusability)

 

프레임워크가 제공하는 인터페이스는 반복적으로 사용할 수 있는 컴포넌트를 정의할 수 있게 하여 재사용성을 높여 준다또한 재사용성은 소프트웨어의 품질을 향상시킬 뿐만 아니라 개발자의 생산성도 높여 준다.

 

(3) 확장성(Extensibility)

 

프레임워크는 다형성(polymorphism)을 통해 애플리케이션이 프레임워크의 인터페이스를 넓게 사용할 수 있게 한다또한 애플리케이션 서비스와 특성을 변경하고 프레임워크를 애플리케이션의 가변성으로부터 분리함으로써 재사용성의 이점을 얻게 한다.

 

(4) 제어의 역흐름(Inversion of control)

 

프레임워크 코드가 전체 애플리케이션의 처리 흐름을 제어하여 특정한 이벤트가 발생할 때 다형성(Polymorphism)을 통해 애플리케이션이 확장한 메소드를 호출함으로써 제어가 프레임워크로부터 애플리케이션으로 반대로 흐르게 한다.


<맵 리듀스(Map Reduce)>

 

구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어로 현재 Java, C++, 그리고 기타 언어에서 적용이 가능하도록 작성되었으며 아파치 하둡(Hadoop)으로 대표되는 소프트웨어 프레임워크


<프레임워크(Framework)>

 

프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 클래스들을 제공하는 틀을 이르는 용어

소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 클래스들을 제공하는 틀

 

1. 특징

 

(1) 재사용성

 

인터페이스를 통해 애플리케이션에서 반복적으로 사용하는 일반적 컴포넌트를 정의하여 ( )/를 높였으며

 

(2) 확장성

 

다형성을 통해 애플리케이션이 프레임워크의 인터페이스를 확장할 수 있는 ( )/를 가지고 있다.

 

(3) 모듈화

 

또한 구현을 인터페이스 뒤에 감추는 ( )/를 통해 설계/구현 변경에 따르는 영향을 최소화할 수 있게 하였고,

 

(4) 제어의 역행

 

외부의 이벤트에 대해 애플리케이션이 어떤 메서드를 수행해야할지 처리흐름을 제어

728x90
반응형