-
24-06-26 TIL ( 모의면접준비정리#3 )카테고리 없음 2024. 6. 26. 22:56
Class와 Instance:
- Class: 객체를 생성하기 위한 설계도 또는 템플릿. 객체의 속성과 메서드를 정의.
- Instance: 클래스를 기반으로 실제로 생성된 객체. 클래스의 인스턴스라고 부름
화살표 함수(Arrow Function)로 클래스 메서드를 구현하지 않았을 때의 문제와 해결 방법
- 문제: 화살표 함수는 자신만의 this 바인딩이 없기 때문에, 클래스 메서드에서 this를 사용하면 예기치 않은 동작이 발생할 수 있음.
- 해결 방법:
- 클래스 메서드를 일반 함수 형태로 정의
- 생성자에서 메서드의 this를 바인딩
- 메서드 내부에서 화살표 함수를 사용하지 않고 일반 함수를 사용
3-Layered Architecture의 각 Layer 역할:
- Controller Layer: 클라이언트의 요청을 받아 Service Layer로 전달, 응답 반환
- Service Layer: 비즈니스 로직 수행, Repository Layer를 통해 데이터 처리
- Repository Layer: 데이터베이스와의 CRUD 작업 수행
3-Layered Architecture의 장단점:
- 장점:
- 관심사 분리로 인한 코드 가독성 및 유지보수성 향상
- 각 Layer의 역할이 명확하여 개발 및 테스트가 용이
- 변경에 유연한 구조
- 단점:
- 계층 간 의존성 증가로 인한 복잡성 증가
- 계층이 많아져 성능 저하 가능성
Service, Repository Layer에서의 에러 처리 및 사용자 전달 방법:
- Service, Repository Layer에서 발생한 에러를 Controller Layer로 전달
- Controller Layer에서 에러 객체를 사용하여 적절한 HTTP 상태 코드와 함께 클라이언트에게 응답
- 이를 위해 Service, Repository Layer에서는 고유한 에러 객체를 생성하여 전달
이와 같은 방식으로 3-Layered Architecture의 각 Layer 간 역할 분담과 에러 처리를 구현할 수 있습니다.