We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
실제 퍼사드 패턴과는 차이가 있습니다.
현재 코드에서는 각 service가 필요한 repository를 불러오는 구조로 돼 있음 예시
service
repository
public class OrderServiceImpl implements OrderService { ... private final StoreRepository storeRepository; ... }
public class StoreServiceImpl implements StoreService { ... private final StoreRepository storeRepository; ... }
그러다 보니 각각의 service코드 내부에 storeRepository.findById(storeId)와 같이 중복 코드를 작성하게 됨
storeRepository.findById(storeId)
퍼사드 패턴의 개념을 가져오게 됨
퍼사드 패턴
위의 사진으로 설명하자면 클라이언트는 퍼사드를 통해서 복잡한 구조를 이해할 필요가 없음
클라이언트
퍼사드
서비스는 레퍼지토리를 자세히 알 필요가 있을까? 라는 아이디어에서 출발
서비스
레퍼지토리
예시
public class StoreServiceFacade { private final StoreRepository storeRepository; public Store getStoreById(Long storeId) { return storeRepository.findById(storeId) .orElseThrow(() -> new BusinessLogicException(ExceptionCode.STORE_NOT_FOUND)); } }
퍼사드클래스를 생성하고 레퍼지토리와 관련된 로직을 구현
import
The text was updated successfully, but these errors were encountered:
Sorry, something went wrong.
marinesnow34
1223v
No branches or pull requests
실제 퍼사드 패턴과는 차이가 있습니다.
서버 코드
현재 코드에서는 각
service
가 필요한repository
를 불러오는 구조로 돼 있음예시
그러다 보니 각각의
service
코드 내부에storeRepository.findById(storeId)
와 같이 중복 코드를 작성하게 됨아이디어
퍼사드 패턴
의 개념을 가져오게 됨위의 사진으로 설명하자면
클라이언트
는퍼사드
를 통해서 복잡한 구조를 이해할 필요가 없음서비스
는레퍼지토리
를 자세히 알 필요가 있을까? 라는 아이디어에서 출발해결 (?)
예시
퍼사드
클래스를 생성하고레퍼지토리
와 관련된 로직을 구현현재 진행
service
가 직접적으로repository
를import
하지 않으면 이슈 close 부탁The text was updated successfully, but these errors were encountered: