▶ Controller
- 컨트롤러 클래스 안에서 메서드 명을 작성 할 때는 아래와 같은 접미사를 붙인다.
orderList() – 목록 조회 유형의 서비스
orderDetails() – 단 건 상세 조회 유형의 controller 메서드
orderSave() – 등록/수정/삭제 가 동시에 일어나는 유형의 controller 메서드
orderAdd() – 등록만 하는 유형의 controller 메서드
orderModify() – 수정만 하는 유형의 controller 메서드
orderRemove() – 삭제만 하는 유형의 controller 메서드
# Web API Design Guide (정리하여 포스팅 할 예정)
https://cloud.google.com/files/apigee/apigee-web-api-design-the-missing-link-ebook.pdf
▶ Service
- 서비스 클래스 안에서 메서드 명을 작성 할 때는 아래와 같은 접두사를 붙인다.
findOrder() - 조회 유형의 service 메서드
addOrder() - 등록 유형의 service 메서드
modifyOrder() - 변경 유형의 service 메서드
removeOrder() - 삭제 유형의 service 메서드
saveOrder() – 등록/수정/삭제 가 동시에 일어나는 유형의 service 메서드
▶ Mapper
- Mapper 클래스 안에서 메서드 명을 작성 할 때는 아래와 같은 접두사를 붙인다.
selectOrder(); - 조회 유형의 mapper 메서드
insertOrder(); - 등록 유형의 mapper 메서드
updateOrder(); – 변경 유형의 mapper 메서드
deleteOrder(); - 삭제 유형의 mapper 메서드
▶ Structure
1. 패키지는 목적별로 묶어 생성한다.
- common(공통기능 관련), user(유저 관련), Order(주문관련) ....
2. Controller에서는 Service 호출과 Exception 처리만을 담당한다.
- Controller에서의 비즈니스 로직 구현은 최대한 피한다.
3. 메소드와 클래스는 하나의 목적만을 위해 생성한다.
- 한개의 메소드는 한가지의 기능만을 가져야 한다.
- 한개의 클래스 내부에는 같은 목적만을 가진 코드가 존재하여야한다.
4. 메소드와 클래스는 가능한 작게만든다.
- 여러 기능이 모인 적은수의 큰 클래스보다는 목적이 뚜렷한 작은 클래스 여러개로 이루어진 시스템이 바람직하다.
5. 도메인명의 Service 생성은 피한다.
- Order 라는 도메인이 있을 때 OrderService 로 만드는 것은 피한다.
- OrderService로 만들 경우 그 안에 도메인과 관련된 여러 기능을 넣을 가능성이 높다.
- 도메인 관련 기능을 세분화하여 Service를 만든다(ex. OrderRegisretService, OrderStatusService .....)
아래 사이트는 오라클에서 권장하는 자바 코드 컨벤션이다.
https://www.oracle.com/java/technologies/javase/codeconventions-introduction.html
'IT개발정보 > spring and java' 카테고리의 다른 글
스프링 mybatis의 sql문에서 변수명을 sql필드명으로 쓰려면? (0) | 2024.01.19 |
---|---|
Java Interface 의 필요성 (0) | 2023.02.11 |
JAVA Map, List 정의- Collection (0) | 2023.02.10 |
JAVA 명명 규칙 (0) | 2023.02.10 |
[Spring] 톰캣 재시작 없이 Java 파일 변경 적용 - Spring Loaded (0) | 2023.02.10 |