Think about it.2009.02.26 12:32

IT 분야에서 사용하는 용어는 여러 가지 의미를 가지거나 모호한 단어들이 많기 때문에 정확한 용어의 의미를 이해하지 않고서는 글의 내용을 올바로 이해하기 힘들다. GoF의 디자인 패턴으로 유명한 랄프 존슨(Ralph Johnson) 교수는 프레임워크를

소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것


이라고 정의하였다. 프레임워크는 라이브러리와 달리 애플리케이션의 틀과 구조를 결정할 뿐 아니라, 그 위에 개발된 개발자의 코드를 제어한다. 프레임워크는 구체적이며 확장 가능한 기반 코드를 가지고 있으며, 설계자가 의도하는 여러 디자인 패턴의 집합으로 구성되어 있다.


또한 텀즈 에서는 이렇게 정의 하고 있다. 
  1. 객체지향형 시스템에서 말하는 프레임웍이란, 서로 관련이 있는 많은 수의 문제를 풀기 위한 추상적 설계를 구체화한 클래스 집합을 말한다.
  2. FrameWork은 최초의 PC용 통합 소프트웨어 패키지 중 하나로서, 프로그래밍 언어도 포함되어 있다. 후에 볼랜드에 합병된 Ashton-Tate에서 개발되었다.

.Net Framework 3.5



프레임워크에 대해 찾을수록 점점 개념이 어려워 지는것 같은데...
지금까지 2000년도 부터 개발을 하면서 느끼는 프레임워크 라는건 라이브러리의 확대 개념 + 코드 제어 인것 같다. 코드 제어에 대해서 가장 확실하게 개념을 잡은것은 첫번째는 GC(Garbage Collector) 이고, 그 다음에는 Spring Framework 에서 제공하는 DI(Dependency Injection) 이다.

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower

티스토리 툴바