이 날은 레이어드 아키텍처를 사용하여 명언 게시판 코드를 분리했다.
Controller, Service, Repository로 나누었는데, 코드의 가독성을 위해 필요한 단계인 것은 알지만 나누는 게 생각보다 복잡하고 헷갈렸다. 조금만 틀어지면 에러나기 딱 좋아보였다.
객체를 다루는 부분에 있어서가 제일 헷갈렸는데 객체를 리스트에 저장하는 것은 Repository에서 다루는 것이 맞지만, 객체를 수정하는 것은 Service에서 다뤄야 한다는 점을 배울 수 있었다.
이후 리팩토링도 진행했는데 단순히 기능을 추가하는 것이 아니라 객체의 책임을 조금 더 명확하게 분리하는 방향으로 코드를 개선하였다.
AppContext를 통해 객체 생성을 한 곳에서 관리하고, save() 하나로 등록과 수정을 처리하도록 변경하면서 Repository가 데이터 저장에 대한 책임을 더욱 명확하게 가지도록 리팩토링하였다.
1. 레이어드 아키텍처
레이어드 아키텍처
프로젝트의 규모가 커질수록 하나의 클래스에 모든 기능을 구현하면 역할이 많아져 유지보수가 어려워진다.이를 해결하기 위해 레이어드 아키텍처(Layered Architecture)를 적용하여 역할에 따라 클
hyemzzi.tistory.com
2. [Java] 명언 게시판 만들기 - 레이어드 아키텍처 & 리팩토링
[Java] 명언 게시판 만들기 - 레이어드 아키텍처 & 리팩토링
레이어드 아키텍처 적용기존에는 App 클래스가 사용자 입력, 명언 등록, 수정, 삭제, 목록 조회 등 모든 기능을 담당했다.하지만 기능이 많아질수록 하나의 클래스에 책임이 집중되어 유지보수가
hyemzzi.tistory.com
'회고 > 프로그래머스 데브코스' 카테고리의 다른 글
| 백엔드 데브코스 12기 11일차 (0) | 2026.07.26 |
|---|---|
| 백엔드 데브코스 12기 10일차 (0) | 2026.07.23 |
| 백엔드 데브코스 12기 8일차 (0) | 2026.07.21 |
| 백엔드 데브코스 12기 7일차 (0) | 2026.07.20 |
| 백엔드 데브코스 12기 6일차 (0) | 2026.07.16 |
댓글