Skip to content

Java ToyProject upload by YongHo Shin (신용호) #42

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 58 commits into
base: main
Choose a base branch
from

Conversation

gdtknight
Copy link

깃헙 리포 정리하다가 Fork 했던 리포를 삭제했더니 PR이 자동으로 닫혀버렸습니다. (#27) 다시 열었습니다 ㅠㅠ

제출자 수정
스토어 실행 후 메뉴 출력 부분 구현.
…roupManager - 고객 유형별 기준 설정 메뉴 버그 수정

- 파라미터 값이 제대로 설정되지 않던 문제 해결
- 메뉴 선택 및 이후 과정이 요구사항과 일치하지 않던 부분 수정
- Customer, CustomerDTO, CustomerGroup, Parameter 주석 정리
- Parameter : 불필요한 기본 생성자 정리
- 애플리케이션 내 그룹 정보 전달
- 고객 그룹 정보를 저장하는 데이터베이스라는 취지에 맞게 불필요한 비즈니스 로직을 제거하고 저장, 조회 기능 구현에 충실하도록 리팩토링
- 고객 그룹 관리 서비스라는 취지에 맞게 비즈니스 로직을 구현
- 분류 기준이 업데이트 된 경우 고객 정보도 함께 업데이트
- 주석 추가
- save 메서드 수정. 기존에 저장된 고객 정보가 있는 경우 해당 정보를 업데이트 하도록 수정
- 등록된 정보가 없는 경우 예외를 던지도록 수정
- 주석 추가
- 싱글톤 생성 관련 오류 수정
- 출력 형식 수정
- 싱글톤 생성 관련 오류 수정
- 주석 추가
- 싱글톤 생성 관련 오류 수정
- 싱글톤 생성 관련 오류 수정
- 분류 기준 업데이트 후 새로 정렬되지 않던 오류 수정
- 싱글톤 생성 관련 오류 수정
- 초기 분류 기준 설정시 오류 수정
- 싱글톤 생성 관련 오류 수정
- 주석 추가
gdtknight added 27 commits May 11, 2023 05:05
- 싱글톤 생성 관련 오류 수정
- 주석 추가
- 싱글톤 생성 관련 오류 수정
- 싱글톤 생성 관련 오류 수정
- 불필요한 static 키워드 모두 제거
- 삭제시 발생하던 배열 인덱스 에러 수정
- 예외 제대로 던지지 않던 부분 수정
- 고객정보 삭제시 불필요한 중복 조회 생략하도록 수정.
- 그룹 타이틀 위에 공백 삽입하여 가독성 재고
- 둘이상의 고객 정보 등록시 발생하던 오류 수정
- 예제 프로그램과 동일한 동작을 위해 예외 처리 부분 수정
- 삭제 이후 불필요하게 남아있는 고객 정보 완벽하게 제거
- 요구사항 준수를 위해 고객 정보 삭제 후 결과 출력하도록 변경
- 엔티티 역할에 충실하도록 toString, groupTitle 등 출력 부분 DTO 로 이동. 이후 메인 비즈니스 로직에서 DTO 활용.
- 비즈니스 로직과 뷰를 분리. 출력은 뷰에서 이루어지도록 변경
- DTO를 이용하여 데이터를 전달하도록 변경
- 테스트 새로 작성하기 위해 기존 테스트 모두 삭제
- Customer : 불필요한 생성자 삭제, 생성자 id 부여 부분 수정.
- CustomerDTO : id에 이름이 입력되던 오류 수정.
- CustomerManager : 삭제시 배열 인덱스 오류 수정. 불필요한 코드 제거.
- CustomerGroupManager 테스트 코드 추가
- 테스트에 따라 CustomerType 보완
- 테스트에 따라 StoreErrorCode 보완
- CustomerType 에서 단축어 사용을 위해 불필요하게 중복 선언되어 있던 부분들을 제거
- CustomerType 에 선언된 값을 통해 CustomerGroupManager 초기화를 하도록 선언하여 새로운 유형 추가에 유연하게 대처가능하도록 변경
- 리팩토링 영향을 반영하여 StoreUtility, CustomerGroupManagerTest 적절하게 변경
- 고객 ID, 그룹 관련 에러코드 수정
- DTO 로부터 Entity 객체 생성하는 메서드 추가
- 구분을 위한 메서드명 변경
- 포맷팅 적용
- 불필요한 예외 던지는 부분 모두 삭제.
- null 반환 시 CustomerGroupService 에서 예외 던지도록 수정.
- DTO 작성 취지에 맞게 DTO 를 통해 그룹 정보를 전달받도록 수정
- 전달받은 Parameter 로 DTO 업데이트
- Application 초기화시 모든 CustomerGroup 은 CustomerType 에 정의되어 있는 모든 고객 유형에 대해서 자동으로 생성
- CustomerMenu 에선 Service class 의 find()를 통해 CustomerGroup 을 DTO 형태로 전달받음
- 해당 DTO 를 통해 파라미터 설정, 업데이트 여부를 판단하고 파라미터를 입력받을지 말지 결정
- 입력받은 파라미터와 해당 DTO 를 다시 Service class 에 전달하여 저장을 요청함
- 이 때 CustomerGroup Entity 객체는 Service class 에서 반드시 생성됨.
- 애초에 Manager 에서 관리 중인 CustomerGroup 을 대상으로 모든 과정이 진행되므로 Null 체크가 불필요함
- 따라서 저장은 항상 정상적으로 이루어지므로 별도 예외 처리가 불필요함
- 테스트 작성
@gdtknight gdtknight changed the title #27 Java ToyProject upload by YongHo Shin (신용호) - (#27) May 21, 2023
@gdtknight gdtknight changed the title Java ToyProject upload by YongHo Shin (신용호) - (#27) Java ToyProject upload by YongHo Shin (신용호) May 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant