Spring Framework14 [서비스 계층] - Service(작성중) 📌 서비스 계층 서비스 계층(Service Layer)은 API 계층에서 구현한 Cotroller 클래스와 상호 작용하며 Service 클래스에 구현된 실제적인 비즈니스 로직을 처리한다. 서비스 계층은 API 계층과 데이터 액세스 계층 사이에 존재하며 도메인 단위로 분리된 실제적인 비즈니스 로직을 처리한다. 이전의 컨트롤러에서는 DTO를 통해 JSON 데이터를 받아오는데 그쳤지만, 서비스 계층은 컨트롤러에서 전송받은 데이터 객체를 통해 구매 오더, 오더 확인, 오더 문의, 송장의 품목 등과 같이 요구사항 혹은 도메인 단위의 어떤 비즈니스 로직을 처리한다. 서비스 계층은 대부분의 도메인 모델을 포함한다. 또한 도메인 모델은 다시 빈약한 도메인 모델(anemic domain model)과 풍부한 도메인 모델.. 2022. 8. 23. [API 계층]DTO 📌 DTO DTO(Data Transfer Object)는 엔터프라이즈 애플리케이션 아키텍처 패턴의 하나 중 하나로, Transfer이라는 의미에서 알 수 있듯이 데이터를 전송하기 위한 용도의 객체를 말한다. ✔️ DTO 클래스를 이용한 코드의 간결성 @RestController @RequestMapping("/v1/members") public class MemberController { @PostMapping public ResponseEntity postMember(@RequestParam("email") String email, @RequestParam("name") String name, @RequestParam("phone") String phone) { Map map = new HashMap.. 2022. 8. 22. 관점 지향 프로그래밍(AOP) 📌 객체 지향 프로그래밍 이전과 현재에 많은 프로젝트는 객체지향 프로그래밍(OOP, Object Oriented Programming) 패러다임을 지향하며 프로그래밍하고 있다. 정의된 기능들을 재사용하기 위해 동작보다는 객체를 중심으로 프로그래밍하는 OOP가 등장했다. OOP의 핵심은 공통된 목적을 띈 데이터와 동작을 묶어 하나의 객체로 정의하는 것이다. 객체를 적극적으로 활용함으로써 기능을 재사용할 수 있는 것이 큰 장점이다. 객체를 잘 활용하기 위해선 관심사 분리(Separation of Concerns)의 디자인 원칙을 준수해야 한다. 특정 관심사 업무 코드에 트랜잭션, 보안, 로깅 등의 코드가 함께 존재한다. 트랜잭션, 보안, 로깅 코드는 비록 업무와는 관련이 없지만 애플리케이션에 필수적인 부가기.. 2022. 8. 17. 제어의 역전(IoC)과 의존성 주입(DI) 📌 제어의 역전(IoC) 제어의 역전(IoC, Inversion of control)은 애플리케이션 흐름의 주도권을 개발자가 아닌 프레임워크(혹은 서블릿 컨테이너)가 갖는 것을 말한다. 앞서 라이브러리와 프레임워크를 설명할 때 프레임워크는 애플리케이션 흐름의 주도이 프레임워크에게 있다고 설명했다. 여기서 말하는 애플리케이션 흐름의 주도권이 뒤바뀐 것을 바로 제어의 역전(IoC, Inversion of Control)이라고 한다. public class Example { public static void main(String[] args) { System.out.println("Hello IoC!"); } } 일반적으로 자바 애플리케이션을 실행하기 위해선 main() 메서드가 있어야 한다. main() 메.. 2022. 8. 16. 이전 1 2 3 4 다음