본문 바로가기
생각 정리

2022. 10. 28.

by jaeyoungb 2022. 10. 28.

§ 학습 전(계획)

 

▶ 학습 목표는 무엇인가?

  • Spring MVC - JDBC 기반 데이터 액세스 계층
Spring Data JDBC 기반의 도메인 엔티티 및 테이블 설계
1. 도메인 엔티티 클래스 정의
2. 서비스, 레포지토리 구현

 

 이미 알고 있는 내용은 무엇인가?

어제 Spring Data JDBC에 관해서 간단하게 배웠고, 오늘은 코드를 쳐보면서 이해하는 시간을 가질 것 같다.

제대로 이해하도록 하자!

 

 

 


 

 

§ 학습 후(점검 및 평가)

 

 새롭게 배운 내용은 무엇인가?

DDD(Domain Driven Design)는 도메인 위주의 설계 기법이다.

도메인은 비즈니스적인 어떠한 업무 영역을 말한다. 애플리케이션을 구현하기 위해 필요한 업무들을 자세히 알면 알수록 퀄리티가 높은 어플리케이션을 만들 가능성이 높다.

 

애그러거트(Aggregate)애그리거트 루트(Aggregate Root)는 DDD에서 사용되는 용어이다.

애그리거트는 비슷한 업무의 하위 수준 도메인들의 묶음을 의미한다. 애그리거트 내의 대표 도메인을 애그리거트 루트라고 한다. (애그리거트 루트는 각 테이블의 기본키라고 할 수 있다.)

 

데이터베이스의 테이블 간의 관계는 외래키를 통해 맺어지고, 클래스끼리의 관계는 객체의 참조를 통해 맺어진다.

AggregateReference 클래스는 다른 애그리거트 루트 간의 참조 역할을 하고, 외래키처럼 다른 객체의 ID 값을 참조할 수 있도록 해준다.

 

모든 엔티티 객체의 상태는 애그리거트 루트를 통해서만 변경할 수 있다.

애그리거트 루트 간의 참조는 객체 참조 대신 ID로 참조한다.

 

 

 다른 사람에게 설명할 수 있는가?

DDD가 무엇이고, 애그리거트와 애그리거트 루트는 각각 무엇인지에 대해 설명할 수 있다.

 

 

 아직 이해되지 않은 내용은 무엇인가?

코드를 보고, DDD 기법을 사용하고 있구나, DDD 기법이 필요하겠구나 라는 정도의 생각을 할 수 있는 단계는 아직 아닌 것 같다. 또, 구현해야 할 여러 클래스 및 인터페이스(서비스, 컨트롤러, 엔티티 등등)들이 아직 잘 구분되지 않는다. 몇몇은 왜 사용하는지 잘 모르겠다.

 

 

 이해되지 않은 내용을 보완하기 위해서 나는 무엇을 할 수 있는가?

내용 복습을 하면서, 하나의 애플리케이션 구현하기 위해서 어떤 것들을 만들어야할지 순서를 생각해보고 간단하게 그림을 그려보면서 빠르게 이해할 수 있을 것 같다.

무엇보다도, 코드를 생각하는 것 이상으로 많이 쳐봐야 뭘 좀 알 것 같다.

 

 

 오늘 나의 학습 만족도는 어느 별 5개 중 몇 개를 줄 수 있는가?

  • ★★★☆☆

배우는 내용들은 점점 많아지는데, 이걸 이해하고 처리하는 속도가 더뎌서 요즘 좀 힘든 것 같다.

위기 의식을 느낀만큼, 더 집중하고 더 노력해야겠다는 생각 뿐이다.

이번 주말에 지금까지 배운 내용들을 잘 소화하지 못한다면, 다음 주부터는 정말정말 힘들 것 같다.

한 주 동안 고생많았고, 주말에 좀만 더 고생해서 다음 주는 편하게 학습할 수 있도록 하자!

'생각 정리' 카테고리의 다른 글

2022. 11. 01.  (1) 2022.11.01
2022. 10. 31.  (0) 2022.10.31
2022. 10. 27.  (0) 2022.10.27
2022. 10. 26.  (0) 2022.10.26
2022. 10. 25.  (0) 2022.10.25