일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- DB
- 자바연산자
- 접근제한자
- oracle developer
- 메이븐업데이트
- JavaSwing
- Oracle SQL Developer
- 빅오표기법
- DAO
- C#접근제한자
- JSP
- 자바
- DB 제약조건
- Oracle
- mvc디자인패턴
- sql
- oracle db
- Vo
- o(log n)
- O(n)
- C언어 표준 라이브러리
- 오라클
- DATABASE
- break
- DTO
- 데이터베이스
- java
- C#접근제어자
- java접근제어자
- DEFAULT
Archives
성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و
MVC 디자인 패턴, 모델 속 요소들 본문
MVC 디자인 패턴
- 프로그램을 효율적으로 개발하기 위해 코드를 3가지 종류로 구분하여 개발을 진행하는 디자인 패턴이다.
- 프로그램의 처리 로직과 화면 구현 로직을 구분하는 데 초점을 맞춘 디자인 패턴이다.
- Model, View, Controller로 나뉜다.
- Model: 데이터의 형태를 표현하기 위한 용도의 코드이다.
- DAO (Data Access Object): 데이터 접근 객체로, 데이터베이스와 상호작용하여 데이터를 조회, 삽입, 업데이트, 삭제하는 역할을 한다. ( JDBC 기능을 좀 더 편리하게 사용할 수 있도록 하는 것)
- DTO (Data Transfer Object): 데이터 전송 객체로, 데이터 전송에만 집중하며 비즈니스 로직을 포함하지 않는다.
- VO (Value Object): 값 객체로, 변하지 않는 데이터를 나타내는 데 사용된다. 객체의 동일성을 값 자체로 판단하며, 주로 불변(immutable) 특성을 가진다.
- Entity: 데이터베이스 테이블과 매핑되는 클래스이다. 주로 ORM(Object-Relational Mapping) 프레임워크인 JPA를 사용할 때 사용된다.
- Repository: 데이터 저장소를 의미하며, DAO와 유사하지만 더 고수준의 추상화를 제공한다. Spring Data JPA와 같은 프레임워크에서 자주 사용된다.
- Service: 비즈니스 로직을 구현하는 계층이다. 서비스 클래스는 여러 DAO를 조합하여 비즈니스 로직을 처리하고, Controller에 결과를 반환한다.
- Mapper: 데이터 전송 객체(DTO)와 엔티티(Entity) 간의 변환을 담당하는 클래스이다. 주로 MapStruct와 같은 라이브러리를 사용하여 자동으로 생성된다.
- Utility Classes: 모델 계층에서 공통적으로 사용되는 유틸리티 클래스들이다. 예를 들어, 날짜 변환, 문자열 처리 등의 기능을 제공할 수 있다.
- View: 사용자에게 보이는 부분을 구현하기 위한 용도의 코드이다. (JSP, HTML, CSS, JS 등)
- Controller: 사용자에게 보여지기 전 다양한 처리를 담당하는 용도의 코드이다.
클라이언트의 요청을 받아 적절한 서비스를 호출하고, 결과를 View에 전달한다.
(서비스: 요청을 받았을 때 어떤 처리를 해야 하는지, DAO: DB 접근, 처리 후 어떤 뷰로 가야 할지)
'백엔드개발 > Spring' 카테고리의 다른 글
DTO/VO/DAO란 ? (1) | 2024.05.22 |
---|---|
SPRING Framework (0) | 2024.03.23 |
메이븐 (Maven) (1) | 2024.03.14 |
의존성 주입 (0) | 2024.03.14 |
스프링 프레임워크 (1) | 2024.03.14 |