소프트웨어 개발 프레임워크
From IT Wiki
소프트웨어 개발 프레임워크란 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장 받을 수 있게 하는 개발 소프트웨어이다.
- 생산성 향상과 유지보수성 향상 등의장점이 있다.
- 개발해야 할 애플리케이션의 일부분이 이미 내장된 클래스 라이브러리로 구현이 되어 있다.
- 라이브러리는 프레임워크와 달리 사용자 코드에서 라이브러리를 호출해서 사용하고, 그에 대한 제어도 사용자 코드가 가지는 것이다.
- 따라서, 그 기반이 되는 이미 존재하는 부분을 확장 및 이용하는 것으로 볼 수 있다.
- 설계 관점에 개발 방식을 패턴화시키기 위한 노력의 결과물인 소프트웨어 디자인 패턴을 반제품 소프트웨어 상태로 집적화시킨 것으로 볼 수 있다.
- 프레임워크의 동작 원리를 그 제어 흐름의 일반적인 프로그램 흐름과 반대로 동작한다고 해서 IoC(Inversion of Control)이라고 설명하기도 한다.
예시[edit | edit source]
- JAVA 기반의 대표적인 프레임워크로는 스프링(Spring)이 있다.
- 국내에선 이 스프링에 추가적인 라이브러리와 컴포넌트를 더하여 국가에서 배포하는 전자정부 프레임워크가 있다.
- 삼성 등 대기업에서는 애니프레임 등 자체 프레임워크를 사용한다.
- PHP 기반의 대표적인 프레임워크로는 라라벨, 코드이그나이터 등이 있다.