Skip to content

Latest commit

 

History

History
32 lines (20 loc) · 2.16 KB

File metadata and controls

32 lines (20 loc) · 2.16 KB

레이어드 아키텍처를 이용한 테스트 코드 작성 예제 프로젝트

이 프로젝트는 Spring Boot를 사용하여 레이어드 아키텍처 방식으로 테스트 코드를 작성하는 예제입니다.

설명

  • 본 프로젝트는 Spring Boot의 레이어드 아키텍처 방식을 이용하여 개발되었습니다.
  • 테스트 코드 작성 시, H2 데이터베이스와 Java Mail과 같은 외부 프로그램과의 연동이 필요할 수 있습니다.
  • Java Mail 등 외부 로직을 포함하는 메소드 테스트에는 mock bean을 사용하고 있습니다.

레이어드 아키텍처의 장단점

장점

레이어드 아키텍처는 구조가 단순하며 많은 개발자들에게 익숙해 초중반 프로젝트 개발을 빠르게 진행할 수 있게 합니다. 특히, 스타트업이나 작은 규모의 기업에서 비용을 절약하며 퍼포먼스를 내기에 적합한 구조입니다.

  1. 단순성: 구조가 간단하며 개발자들에게 익숙합니다.
  2. 빠른 개발: 프로젝트의 초중반 개발을 신속하게 진행할 수 있습니다.
  3. 비용 효율성: 초중반 프로젝트 개발 비용을 낮출 수 있습니다.

단점

데이터베이스 주도 설계로 인해 DB 구조에 지나치게 의존하게 될 수 있습니다. 어플리케이션 개발 시 특정 기능의 Use Case를 먼저 고려하고 도메인 간의 관계를 생각하는 것이 중요하지만, 레이어드 아키텍처는 DB 구조를 먼저 고려하여 개발하는 경향이 있습니다. 이는 프로젝트 개발에 부정적인 영향을 미칠 수 있습니다.

  1. DB 주도 설계: 데이터베이스에 과도하게 의존하는 설계를 유도합니다.
  2. 의존성 고려 부족: 의존성에 대한 충분한 고려를 유도하지 않습니다.
  3. 도메인 기능성: 도메인 기반 기능이 효과적으로 작동하기 어렵게 만듭니다.
  4. 협업 어려움: 다른 개발자와의 동시 작업을 어렵게 만듭니다.
  5. 확장성 및 속도 저하: 프로젝트 규모가 커질수록 확장성이 떨어지고, 개발 비용이 증가하며 속도가 저하됩니다.