Spring을 이용한 프로젝트를 진행하던 중에 ModelMapper를 사용하게 되어 이에 대해 한 번 정리해보려 합니다.ModelMapper란?ModelMapper는어떠한 Object에 있는 필드 값들을 원하는 Object에 자동으로 mapping 시켜주는 라이브러리이다.즉, Source Object → Destination Object 를 자동으로 해준다고 생각하면 된다.그렇다면, 어떤 경우에 ModelMapper를 사용할까?보통 DTO를 통해 데이터를 받아 다른 Object(엔티티 등...)에 넣거나 이와 반대로 객체를 DTO로 변환할 때, getter와 setter를 이용해 원하는 필드들을 일일이 넣는다. 아니면, of 와 from이라는 정적 메서드(static method)를 만들어 사용한다.이 ..
4 계층 아키텍처4계층 아키텍처는 소프트웨어 시스템을 4개의 주요 계층으로 나누는 구조적 패턴입니다.이 방식은 ‘관심사의 분리’라는 핵심 원칙을 따르며, 각 계층이 특정 역할을 담당하도록 설계됩니다.각 계층 살펴보기1. Presentation Layer사용자와 직접 상호작용하는 최상위 계층입니다.사용자 인터페이스 (UI) 구현사용자 입력 처리 및 기본적인 유효성 검사다른 계층에서 받은 데이터를 사용자에게 표시2. Business Layer애플리케이션의 핵심 로직이 구현되는 곳입니다.비즈니스 규칙 및 워크플로우 관리데이터 처리 및 연산 수행프레젠테이션 계층과 영속성 계층 사이의 중재자 역할3. Persistence Layer데이터의 영구 저장을 담당하는 계층입니다.데이터베이스와의 통신 관리CRUD 작업 수..
애그리거트(Aggregate)란?애그리거트는관련된 객체들의 집합을 하나의 단위로 취급하는 패턴입니다.즉, 도메인 모델에서 밀접하게 관련된 객체들의 집합을 의미합니다. 이는 복잡한 도메인을 더 작고 관리하기 쉬운 단위로 나누는 데 도움을 줍니다.애그리거트의 주요 목적도메인 모델의 복잡성 감소데이터 일관성 유지트랜잭션 경계 정의애그리거트의 구조애그리거트는 다음과 같은 구조로 이루어져 있습니다애그리거트 루트: 애그리거트의 대표 엔티티로, 외부에서 애그리거트에 접근할 수 있는 유일한 진입점입니다.엔티티: 고유한 식별자를 가진 객체들입니다.값 객체: 식별자가 없고 불변성을 가진 객체들입니다.애그리거트 설계 원칙불변식 보호: 애그리거트 내부의 모든 불변식(invariants)은 항상 일관된 상태를 유지해야 합니다...
트랜잭션의 격리 수준이란,여러 트랜잭션이 동시에 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 말지를 결정하는 것입니다.격리 수준은 크게 아래의 4가지로 나뉩니다.READ UNCOMMITTEDREAD COMMITTEDREPEATABLE READSERIALIZABLE아래로 갈수록 각 트랜잭션 간의 데이터 격리(고립) 정도가 높아지며, 동시 처리 성능도 떨어집니다.일반적인 서비스 용도의 데이터베이스는 READ COMMITTED와 REPEATABLE READ 중 하나를 사용합니다.Oracle : 주로 READ COMMITTEDMySQL : 주로 REPEATABLE READ1. READ UNCOMMITTEDREAD UNCOMMITTED 격리 수준에서는각 트랜잭션..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.