사전적 의미로는 '복잡한 문제를 해결하거나 서술하는데 사용하는 기본 개념 구조'라고 정의 되어 있습니다.
정의에 따르면 '특정한 목적에 사용되는 사고체계'라는 뜻으로 소프트웨어 개발에 해당하는 것은 공통으로 사용하는 라이브러리, 공통으로 사용하는 개발 도구, 공통으로 사용하는 인터페이스 등이 있죠.
프레임워크가 중요한 진짜 이유는 객체 지향 개발을 하게 되면서 개발자의 취향에 따라 다양한 프로그램이 나오게 되었는데, 프로그램 개발에 투입되는 개발자도 점점 늘어남에 따라 전체 시스템의 통합성, 일관성이 부족하게 되었기 때문입니다. 그래서 개발자의 자유를 제한하기 위해 프레임워크를 도입하게 되었다네요.(참고 : 프레임워크와 라이브러리의 차이)
- 전체 시스템의 통합성, 일관성때문에 개발자의 자유를 제한하기 위해 도입됨 : 개발에 대한 방법론을 강제하는 것
- 자유롭게 설계하고 코딩을 하는 것이 아니라 프레임워크가 제공하는 가이드대로 설계하고 코딩해야 함
- 거대하고 복잡도가 높은 프로젝트를 하기 위해 필요한 많은 개발자들이 통일성 있게 빠르고 안정적으로 개발할 수 있음
- 중복되고 뒷단을 처리하는 부분을 프레임워크에서 처리해주고, 개발자는 비지니스 모델에만 집중할 수 있는 구조를 갖추고 있음
- 생산성 향상, 개발자가 미친짓만 하지 않는다면 높은 안정성을 보장함
프레임워크가 가져야 할 특징
- 개발자들이 따라야 하는 가이드라인을 가진다.
- 개발할 수 있는 범위가 정해져 있다.
- 개발자를 위한 다양한 도구들이 지원된다.
프레임워크의 장점
- 개발 시간을 줄일 수 있다.
- 오류로부터 자유로울 수 있다.
프레임워크의 단점
- 프레임워크에 너무 많이 의존하면 개발자들의 능력이 떨어져서 프레임워크 없이 개발하는 것이 불가능해질 수도 있음(ex : 변비약, 수면제)
'용어정리' 카테고리의 다른 글
인터페이스(Interface) (0) | 2016.09.28 |
---|---|
객체지향 언어의 개념 및 특징과 장단점 (1) | 2016.09.28 |
MVC 패턴에 대하여 (0) | 2016.09.28 |
Post 와 Get의 차이 (0) | 2016.09.28 |
쿠키(cookie)와 세션(session)의 차이 (0) | 2016.09.28 |
댓글