오늘은 Layered Architecture Pattern과 Prisma CLI를 활용한 데이터 모델링과 실습 계획에 대해 정리했다. 이론과 실습을 병행하면서 설계 패턴과 데이터베이스 관리 도구의 실제 효용성을 점검하는 것이 목표다.
Layered Architecture Pattern 정리
Layered Architecture는 시스템을 계층(layer)으로 나누어 각각의 역할과 책임을 분리하는 설계 방식이다.
- 구조
Layered Architecture는 다음 네 가지 계층으로 나뉜다:- Presentation Layer: 사용자와의 인터페이스 관리(UI).
- Application Layer: 요청을 조율하고 비즈니스 로직을 처리.
- Domain Layer: 핵심 비즈니스 로직과 도메인 객체 포함.
- Infrastructure Layer: 외부 시스템이나 데이터베이스와의 통신 담당.
- 장단점
- 장점: 모듈화, 유지보수성, 확장성.
- 단점: 과도한 복잡성, 성능 오버헤드 가능성.
- 활용 계획
8-Layered Architecture Pattern을 실습 프로젝트에 적용해 설계 방식의 효용성을 검토할 예정이다. 실제 코드 작성 및 테스트를 통해 이 구조가 프로젝트의 복잡성을 효과적으로 관리할 수 있는지 확인하고, 필요하면 개선 방향을 탐구할 계획이다.
Prisma CLI 실습 계획
- 스키마 동기화 및 테스트 데이터 입력
Prisma CLI를 사용하여 실제 데이터베이스와 스키마를 동기화하고, 테스트 데이터를 입력해 볼 예정이다. 이를 통해 데이터 모델링의 효율성과 작업 흐름을 경험해본다. - JSON 필드 실험
JSON 필드를 활용하여 유연한 데이터 저장 방식을 시도할 계획이다.- 장점: 유연성, 간단한 구조.
- 단점: 데이터 쿼리 및 분석의 복잡성 증가 가능성.
필요하면 JSON 필드를 구조화된 테이블로 대체하는 방안을 검토할 것이다.
- 데이터 모델링 확장
실습 중 추가 요구사항이 생길 경우, 이를 기반으로 데이터 모델링을 어떻게 확장할 수 있을지 탐구할 계획이다. 설계 단계에서의 유연성과 확장성을 염두에 두고 접근하려 한다.
오늘의 교훈
- 설계는 단순한 이론이 아니라, 실제 프로젝트에서의 적용 가능성으로 평가해야 한다.
- 도구는 효율성을 높여주지만, 올바른 활용과 설계가 우선이다.
- 유연성은 중요하지만, 관리 가능성과 구조화된 설계 간의 균형을 유지하는 것이 핵심이다.
앞으로 이 계획을 차근차근 실천하면서 프로젝트의 구조와 데이터 모델링에 대한 이해를 더욱 깊게 다져갈 예정이다! 💡