Framework

Jason·2023년 9월 19일
0
post-thumbnail

내맘대로 해석하는 개발용어

Software 에서 Framework 란?

특정한 문제를 해결 하기 위해 만든 재사용, 확장 가능한 라이브러리 이다.

그렇다고 한다..

진짜 큰 개념이라서 명확하게 이거다 하고 구분 짓기 힘든 것 같다.

특정한 문제를 해결하기 위한 뼈대 라는 것만 알고 가면 될 것 같다.

IoC (Inversion of Control)

Framework 하면 꼭 나오는 단어이다.

제어의 역전.. 내가 간단하게 해석한 IoC 는 아래와 같다.

내가 직접 안하고 맡기니 편하다.
그래서 맡긴 대상에게 통제권을 준다.

Spring framework

예전 framework 중에 대표적이었던 Struts framework 를 기반으로 servlet web 개발을하게 되면 정말 개발 노가다의 기분을 느낄 수 밖에 없다.

예전에는 해당 프레임워크를 통해 개발하는 것도 행복한 시절이 있었다는 라떼 스토리도 들었지만.. 단일 인입점 구성하고 요청을 각 Action 으로 매핑하고, 페이지 네비게이션 하는 Action 을 관리하는 여러 class 들도 직접 만들어야 하니 이런 중요한 부분을 설계, 구현하려면 고급 개발자가 필요했었다 한다.

그런 겨울 같은 시절을 잊고 봄이 오길 바란다는 의미로 이름을 Spring 으로 지었다는 얘기가 있다.

Spring framework 구조

Spring framework

Spring 은 보다시피 자바 기술을 기반으로 한 모든 영역을 framework 로 제공하고 있다.
그리고 원한다면 필요한 라이브러리만 넣어 기능을 사용할 수 있도록 모듈화 해두었다.


Spring boot

Spring framework 라고 해서 손이 안가는 부분이 없는건 아니다.

바로 각 framework 를 사용할 때 마다 Meta-data 를 저장해 두는 xml 파일의 갯수가 하나 둘 늘어나는 문제점이 있다.

해당 문제점을 개선하기 위한 frameworkSpring boot 가 나왔다.
No Meta-data 와 Annotation 기반 개발을 목적으로 만들어졌다고 하지만, 아예 없는건 아니다.
설정 파일이 모듈 당 최소 1개는 있고, 필요에 따라 일부 예전 프레임 워크 적용할때 메타데이터가 늘어날 수도 있다.

설정 파일 예)
Spring boot : application.properties
Gradle : build.gradle
Maven : pom.xml

Spring boot 를 사용한다면 해당 철학에 맞게 최소한의 meta-data file 구성과 Annotation 기반 코딩이 건강에 좋다고 한다.

profile
어제보다 매일 1% 성장하고 있습니다.

0개의 댓글