앱 개발의 순서
>애플리케이션 경계 설정
앱을 개발하기 위해서는 해당 앱의 기능에 맞춰서 범위를 제한해야 하는 것이 먼저다. 이를 애플리케이션 경계를 설정한다고 표현한다.
>요구 사항 수집
해당 앱이 어떤 기능을 필요로하고 고객에게 어떤 기능을 제공할 지에 대한 요구 사항을 수집해야한다.
>패키지 구조 생성
애플리케이션의 경계를 설정하고 요구 사항 수집이 완료되면 이제 코드를 짜면서 기능을 구현하는 클래스들을 만들어내면 된다!
그런데 애플리케이션 하나에 생각보다 매우 많은 클래스들이 필요하다. 그래서 이를 정리하기 위해 클래스를 만들기 전 폴더들, 즉 패키지를 생성하여 정리할 준비를 하는 것이 좋다.
정해진 것은 아니지만 두 개의 대표적인 구조가 있다.
(1)기능 기반 패키지 구조와 (2)계층 기반 패키지 구조이다. 어떤 구조를 선택하든(심지어 사용자 편의로 구조를 설정해도 된다.)문제는 없지만, 애플리케이션의 요구 사항과 상황에 맞게 사용하는 것이 좋다.
Sprig Boot 팀에서는 기능 기반 패키지 구조 사용을 권장한다. 이유는 테스트와 리팩토링이 용이하고, 마이크로 서비스 시스템으로의 분리가 상대적으로 용이하기 때문이다.
패키지 구조
전제 조건으로 버거 매장을 위한 애플리케이션을 개발하는 상황을 가정하겠다.
해당 애플리케이션에는 아래와 같은 기능이 필요하다.(매우 요약해놓은 기능)
-버거 메뉴 정보를 다루는 기능
-고객의 정보를 다루는 기능
-고객의 주문 정보를 다루는 기능
>기능 기반 패키지 구조
말 그대로 하나의 기능을 구현하기 위한 모든 클래스를 묶어 정리하는 구조이다.
<그림 참고>
>계층 기반 패키지 구조
다양한 기능을 구현하는 각 계층들을 묶어 정리하는 구조이다.
<그림 참고>
'Spring > Spring Boot' 카테고리의 다른 글
Spring Framework Documentation (0) | 2022.10.25 |
---|---|
[Spring MVC] 04. DTO 클래스와 유효성 검증 (0) | 2022.10.22 |
[Spring MVC] 03. Controller (0) | 2022.10.22 |
[Spring MVC] 02. Spring MVC (0) | 2022.10.22 |