Framework

calico·2025년 6월 2일

Computer Science

목록 보기
12/51

Framework(프레임워크)란?


  • Framework란, 소프트웨어 개발이나 시스템 구축 등에서 반복적으로 사용되는 구조, 규칙, 기능들을 미리 제공하여 개발 생산성을 높이고 일관성을 보장하는 ‘뼈대’ 혹은 기본 틀을 의미합니다.

  • 프레임워크는 개발자가 주요 로직이나 기능에만 집중할 수 있도록, 공통적으로 필요한 부분(예: 라이프사이클 관리, 데이터 처리, 인증 등)을 자동화하고 표준화합니다.

한마디로, "어떻게 작업할지 미리 정해진 틀"이며, 개발자는 이 틀 안에서 필요한 부분을 구현해 넣는 방식입니다.



소프트웨어 개발에서의 Framework 범위


1. 기본 구조 및 기능


  • 애플리케이션을 개발할 때 반복적으로 사용되는 기본 구조(예: MVC 패턴, 라우팅, 데이터 바인딩 등)를 제공합니다.

  • 개발자가 공통적으로 사용하는 기능(예: 인증, 데이터베이스 연결, 요청/응답 처리 등)을 내장합니다.



2. 제공/제한 영역


  • 프레임워크가 제공해주는 부분(빌트인 라이브러리, 미들웨어 등)과,

  • 개발자가 자유롭게 구현해야 하는 부분(비즈니스 로직, 커스터마이즈된 UI 등)을 명확히 구분합니다.



3. 확장성 및 커스터마이징


  • 확장 포인트(플러그인 시스템, 커스텀 컴포넌트 등)와

  • 프레임워크 내의 표준화된 구조를 변경하지 않으면서도 기능 추가/확장이 가능한 범위를 정의합니다.



4. 라이프사이클 관리


  • 애플리케이션이나 서비스의 생명주기 관리(초기화, 실행, 종료 등)를 담당하는 부분의 범위도 프레임워크에서 책임집니다.



5. 기술 스택/호환성


  • 어떤 언어, 데이터베이스, 프론트엔드/백엔드와 호환되는지 등, 기술적 범위도 프레임워크에 포함됩니다.



Framework 범위 예시 - Spring Framework


  • 지원하는 언어: Java

  • 지원 영역: DI(의존성 주입), AOP(관점지향), 트랜잭션 관리, 웹 애플리케이션(MVC), 데이터 접근(JPA, JDBC 등)

  • 확장: 다양한 스타터와 모듈로 손쉽게 기능 추가

  • 개발자가 구현: 도메인 로직, 커스텀 Validation, 비즈니스 처리



Framework란

  • 일정한 구조와 원칙에 따라 개발을 돕는 뼈대(틀)을 제공하고,
  • 어디까지 자동화/지원하며,
  • 어디부터 개발자가 직접 책임지고,
  • 확장과 커스터마이즈가 어디까지 가능한지를 명확히 구분짓는 시스템입니다.
profile
개인 블로그

0개의 댓글