이 내용은 토비의 스프링 1권의 797부터 시작하는 내용을 참고하며 작성하였습니다. 1. AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)의 이해 [ AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)의 등장 ] AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)를 이해하기 위해서는 어드바이스(Advice), 포인트컷(PointCut)를 이해해야 한다. 어드바이스(Advice): 타겟 오브젝트에 적용하는 부가 기능을 담은 오브젝트 포인트컷(PointCut): 메소드 선정 알고리즘을 담은 오브젝트 부가기능은 핵심기능과 섞이면 설계와 코드가 지저분해지기 때문에 부가기능을 독립적인 모듈로 만들고자 하는 필요성이 대두되..
이 내용은 토비의 스프링 1권의 797부터 시작하는 내용을 참고하며 작성하였습니다. 1. 도메인 주도 설계 및 개발(도메인 객체 중심 개발) [ 도메인 객체 중심 개발 ] 도메인 객체 중심 아키텍처란 도메인 모델을 반영하는 객체를 만들어두고, 그것을 중심으로 개발하는 아키텍처를 의미한다. 도메인 모델은 DB의 엔티티 설계에도 반영되기 때문에, DB의 엔티티와 유사할 확률이 높다. 물론 DB에는 없고 비즈니스 로직 상에서만 존재하는 모델도 있기 때문에 항상 일치하지는 않을 수 있다. 이렇게 객체를 만들어두고 그 안에 정보를 담아서 각 계층 사이에 전달하게 만드는 것이 도메인 객체 중심 아키텍처이다. 예를 들어 어떤 제품과 카테고리가 있을 때 다음과 같은 도메인 객체가 존재할 수 있다. public clas..