# Structuring
[Spring] Project Structure
패키지 구성의 종류 계층형 각 계층을 대표하는 디렉터리를 기준으로 코드들이 구성한다. 해당 프로젝트에 이해가 상대적으로 낮아도 전체적인 구조를 빠르게 파악할 수 있다. 내가 참여하지 않은 프로젝트 코드를 봤을 때, 계층형 방식이 빨리 훑기 좋은 것 같다. 도메인형 도메인 디렉터리 기준으로 코드를 구성한다. 관련된 코드들이 응집해 있는 장점이 있습니다. 그럼 어떤 것을 선택해야할까? >최근 기술 동향 도메인 주도 개발, ORM, 객체지향 프로그래밍 등에서 도메인형 구조가 더 적합하다고 생각한다. 도메인 주도 개발에서 Root Aggregate 같은 표현은 계층형보다 도메인형으로 표현했을 경우 훨씬 더 직관적이며 해당 도메인을 이해하는 것에도 효율적이다. > 도메인 주도 설계(Domain-Driven Design)란 무엇일까? 소프트웨어는, 사용자가 이해하고 원하는대로 목적에 맞게 사용할 수 있도록 하는 것이 최고의 목표가 되

Structuring, Object Destructuring
Structuring 해당 코드는 효율적이지 않다. human 객체의 name 과 새로 선언한 변수의 이름이 같다. 바로 밑의 lastName도 마찬가지. 효율적이지 못한 코드를 Structuring을 통해 간단히 바꿔 줄수 있다. -> 이것은 객체 안에 있는 property들을 가져오는 것을 의미 한다. -> 그리고 그것이 어떤 객체인지를 가르쳐 준다. 이런식으로 ->human이라는 객체로 가서 name의 값을 새로운 변수인 name에 넣는 것과 같다. ![](https://images.velog.io/images/ppaimar16/post/6f4eef83-050c-4b14-9915-fd21929ed158/Screenshot