티스토리 뷰
https://github.com/kodong885/LibraryAPP.git
GitHub - kodong885/LibraryAPP
Contribute to kodong885/LibraryAPP development by creating an account on GitHub.
github.com
중간 점검시간이다.
현재 구현한 기능을 나열해보겠다.
1. borrow
- bookName 입력 → userName 입력 → 책빌리기!
2. return
- userName 입력 → 해당 유저가 빌린 책 반납!
3. stop
- 말 그대로 프로그램 종료
이정도 구현했다.
그리고 이제 마무리 해야할 기능은 다음과 같다.
1. 책을 빌린 유저가 또 책을 빌리려고 할때
-1 : 같은 책
-2 : 다른 책
2. 책을 빌리지 않은 유저가 책을 반납하려고 할때
( 현재는 NullPointerException으로 뜸 )
그리고 객체지향 + 레이어드 아키텍처 부분의 피드백도 정리해보겠다.
1. 서비스에서 출력담당 중! → 콘솔로 옮기기
( 클래스별 역할 구분하기!!! )
2. Repo 호출 횟수 많음! → 재사용 필요! ( DI..? )
( 나중에 DB를 다루기 위함!! )
3. 행동메서드! ( user.borrow(book) )→ setUserBorrowedBook(book) + setUserBorrowAvailable(false)를 한 줄 메서드로 묶자
(왜냐하면 어차피 책을 빌리는 행위가 곧 "setUserBorrowedBook(book) + setUserBorrowAvailable(false) "이게 때문!! )
4. 책을 빌린 유저가 또 책빌릴때의 예외 처리!!
그리고 중간에 내 고민이 생겼었다.
bookName을 입력하여 List를 받아온 후,
userList에 있는 user를 선택할때, userNum입력시 유효성 검사 때 userList의 길이가 필요함.
하지만, 현재 완전 같은 로직을 이용하여 userList의 길이(userListLengthForBorrow)를 구하는 중.
좀 더 효율적인 방법이 없을까..?
▶ 사용할 리스트자체를 반환하도록하기!! ( Boolean 이 아닌!! )
→ Boolean을 반환하는것이 아닌, 리스트 자체를 반환 하기로!!
( 리스트자체가 비었는지 검사하는건 콘솔에서 검사! ( 흐름 ) )
이번주는 이거 하느라고 고생했다... !!
이제 다시 달려보자!!!!!
'코딩 프로젝트 & 설계' 카테고리의 다른 글
| 자바 프로젝트 - ( 그냥 잡담 ) 에러 폭탄을 만나다 (3) | 2025.09.01 |
|---|---|
| 레이어드 아키텍처 - UI흐름 / 비지니스 흐름 (1) | 2025.08.31 |
| 자바 프로젝트 - 계산기 (3) | 2025.08.21 |
| 벡엔드 설계 구조 - 레이어드 아키텍처 (5) | 2025.07.25 |
| 벡엔드 개발에서, 도메인 객체란? (1) | 2025.07.22 |