프레임워크 (FrameWork)

이상해씨·2023년 8월 11일
0
post-custom-banner

프레임워크 (FrameWork)란?

  • 어플리케이션 개발을 위한 기본적인 클래스, 라이브러리 등이 포함되어 있는 개발환경
  • Frame(틀) + Wrok(작업하다) = 주어진 개발 틀을 토대로 작업한다는 의미.
  • 뼈대, 골조의 역할

프레임워크 사용이유

  • 예시
  1. 웹사이트를 만든다고 가정했을 때, 로그인, 관리자페이지, 회원가입등의 기능은 필수적이다. (소프트웨어 개발 패턴)
  2. 개발자가 매번 일일히 개발하기에는 번거로운 문제 발생
  3. 웹프레임워크로 코드와 개발환경을 재사용함으로써 동일한 코드를 매번 개발하는 문제를 해결할 수 있다.
  • 따라서, 프레임워크는 디자인 패턴의 뼈대를 구축해 주어 개발자로 하여금 개발을 용이하며, 코드의 재사용성을 향상 시킨다.

프레임워크의 장단점

  • 장점
    1. 비교적 개발을 손쉽게 하여 생산성 향상
    2. 프레임워크 틀에 적합하게 체계적으로 개발되어 유지보수 용이
    3. 디자인 패턴에 적합하게 만들어져 코드 재사용성이 높아짐
    4. 추상화된 코드 사용으로 확장성 향상
    5. 통일성이 있어 공동작업에 유리
  • 단점
    1. 프레임워크 사용시 반드시 프레임워크의 규칙을 준수 (자유로운 개발 한계)

    2. 높은 학습난이도

    3. 불필요한 라이브러리가 포함될 수도 있음

    4. 다양한 기능 제공으로 프로젝트 용량 증가


프레임워크 vs 라이브러리

  • 제어 흐름의 주도권에 따라 나뉨

  • 프레임워크

    • 개발을 위한 틀
    • 제어의 역전(IoC : Inversion of Control) : 개발자는 프레임워크의 규칙을 준수하여 코드에서 신경써야 할 부분을 줄임. (프레임워크에게 주도권)

  • 라이브러리

    • 개발을 위한 툴
    • 개발자가 개발 흐름을 위해 라이브러리를 호출(개발자에게 주도권)


참고

프레임워크

profile
공부에는 끝이 없다
post-custom-banner

0개의 댓글