[CS] 레이어드 아키텍처
간략하게 말하면 레이어드 아키텍처는 이렇다. 특징은 있다, 상위 레이어에서 하위 레이어에 대한 의존은 허용하지만, 하위 레이어에서는 허용하지 않는다. 인프라 스트럭처에서 사용자 인터페이스나, 응용 레이어에 대한 의존은 허용하지 않는다는 의미이다. 1) 인프라스트럭처 레이어 쉽게 얘기하면, 마리아 디비, 카프카 등 연결이 되어있는 레이어이다. Mybatis로 치면, 다오가 있을거고, JPA로 치면 레파지토리가 있을것이다. 무튼 이렇게 생각하면 된다. 2) 도메인 레이어 해당 도메인 레이어는 이렇다. 서비스나 비즈니스 로직이 들어간 레이어를 의미한다. 3) 응용계칭 컨트롤러, 사용자가 요청을 원하는 계층 정리해서 얘기하면, 사용자에게 원하는 요구를 받아서, 수행하는 계층이다. 뻔하고 알고있지만, 헷갈리거나 ..
DTO, DAO, VO 예제 및 예시
비슷하지만, 다른 개념, DTO, DAO,VO의 예시를 공부해보자 1. DTO 란? DTO, 계층 간 데이터 교환을 위한 객체는 DTO이다. 즉 데이터베이스에서 값을 얻어, service, controller 단으로 데이터를 넘길때 필요한 값이다. 로직을 가지고 있지않고, 순수 getter,setter를 가지고 있다. 2. DAO 란? Service에서, Database를 접근하기 위해, 사용되는 객체이다. JPA에서 사용은 repository이고, 실제 DB와 접근 하는 객체의 역할을 한다. 쉽게 말해서 DB에 접속해서, 데이터의 CRUD작업을 시행하는 클래스이다. 3. VO - DTO와 동일한 개념이지만, VO는 값이 변경되지 않는 불변의상태를 의미한다. - readOnly이다. ValueObject