EEALL@ONCE
🔦 CS 지식 쌓기 : 라이브러리 vs 프레임워크 : **주도성** 본문
728x90
라이브러리와 프레임워크의 주요 차이점은 제어의 흐름에 대한 주도성이 어디에 있는가입니다.
- 라이브러리(Library):
- 라이브러리는 독립적인 도구나 함수의 집합이며, 당신이 필요할 때마다 가져다 사용할 수 있습니다.
- 주도성은 개발자에게 있으며, 당신이 라이브러리를 호출해서 사용합니다.
- 예를 들어, 특정 기능을 수행하기 위해 라이브러리의 함수를 호출하고, 그 결과를 받아서 사용하는 식입니다.
- 프레임워크(Framework):
- 프레임워크는 어떤 작업을 수행하기 위한 미리 정의된 구조와 규칙의 집합입니다.
- 주도성은 프레임워크에게 있으며, 개발자는 프레임워크가 제공하는 규칙을 따라가야 합니다.
- 예를 들어, 웹 애플리케이션을 개발할 때 프레임워크가 정의한 구조에 따라 코드를 작성하고, 프레임워크가 제공하는 기능을 사용합니다.
여러 언어와 분야에서 사용되는 몇 가지 유명한 라이브러리와 프레임워크를 알려드리겠습니다. 주로 사용하는 Java와 관련된 것들에 중점을 두도록 하겠습니다.
### 라이브러리(Libraries):
1. **Gson:**
- **용도:** JSON 데이터를 객체로 변환하거나 객체를 JSON으로 변환하기 위한 라이브러리.
- **사용 예시:**
```java
Gson gson = new Gson();
String json = gson.toJson(myObject);
MyObject obj = gson.fromJson(json, MyObject.class);
```
2. **Apache Commons Lang:**
- **용도:** 자주 사용되는 자바 언어 유틸리티 기능을 제공하는 라이브러리.
- **사용 예시:**
```java
// 문자열이 비어 있는지 확인
boolean isEmpty = StringUtils.isEmpty(myString);
```
### 프레임워크(Frameworks):
1. **Spring Framework:**
- **용도:** Java 기반의 엔터프라이즈 어플리케이션을 개발하기 위한 종합적인 프레임워크.
- **주요 기능:**
- Inversion of Control (IoC)
- 의존성 주입(Dependency Injection)
- 데이터 액세스, 트랜잭션 관리, 보안 등 다양한 모듈 제공.
2. **Hibernate:**
- **용도:** 객체와 관계형 데이터베이스 간의 매핑을 처리하는 ORM(Object-Relational Mapping) 프레임워크.
- **주요 기능:**
- 자바 객체와 데이터베이스 테이블 간의 매핑
- 데이터베이스 쿼리 생성과 관리
728x90
'분류없음지식🔦' 카테고리의 다른 글
🔦옵저버 패턴이 뭐야? - 객체 간에 일대다 종속성 : 그게 뭔데? (0) | 2023.12.08 |
---|---|
🔦팩토리 패턴(Factory Pattern)이 뭔데? (0) | 2023.12.06 |
🔦 의존성 주입이 뭔데 도대체 ? (0) | 2023.12.04 |
🔦 디자인 패턴 :해결책 템플릿 (0) | 2023.12.01 |
🔦 깃 로컬과 원격을 연결 : git remote add origin <원격 저장소 URL> (0) | 2023.11.16 |