![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bWJxA2/btsATmHhRPm/VJO2xTKITEybqySvIkk2ak/img.png)
AOP(Aspect Oriented Programming), 관점 지향 프로그래밍이란?애플리케이션의 핵심적인 기능에서 부가적인 기능을 분리해서 애스펙트라는 독특한 모듈로 만들어 설계하고 개발하는 방법, OOP를 돕는 보조적인 기술 Spring AOP의 중요 개념은 아래와 같다. ■ 타깃(Target)타깃은 부가기능을 부여할 대상이다. 핵심기능을 담은 클래스일 수도 있지만 경우에 따라서는 다른 부가기능을 제공하는 프록시 오브젝트일 수도 있다. ■ 어드바이스(Advice)어드바이스는 타깃에게 제공할 부가기능을 담은 모듈이다. 어드바이스는 오브젝트로 정의하기도 하지만 메소드 레벨에서 정의할 수도 있다. 어드바이스는 여러 가지 종류가 있다. MethodInterceptor처럼 메소드 호출 과정에 전반적으로 참..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/btBKHf/btsIaTZtU9I/qebN2gzopsrrEBb9pNQ5u1/img.jpg)
TDD 이전의 개발만들 기능에 대해 설계와 구현에 대해서 고민기능에 대한 구현을 완료한 것 같으면 기능을 테스트 TDD란?기능을 검증하는 테스트 코드를 먼저 작성하고 테스트를 통과시키기 위해 개발을 진행테스트를 먼저 한다는 것은 기능이 올바르게 동작하는지 검증하는 테스트 코드를 작성한다는 것을 의미TDD를 접할 때는 작은 단계를 차근차근 밟아 나가야 함 TDD 흐름기능을 검증하는 테스트를 먼저 작성테스트를 통과하지 못하면 테스트를 통과할 만큼만 코드를 작성테스트 통과 후 개선할 코드가 있으면 리팩터링테스트 코드를 만들면 다음 개발 범위가 정해짐테스트 코드가 추가되면서 검증하는 범위가 넓어질수록 구현도 점진적으로 완성TDD의 장점은 코드 수정에 대한 빠른 피드백이며 잘못된 코드가 배포되는 것을 방지 테스트..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pmBFb/btsH8GldcoP/G0hN8etK5piGzDfeCOtWBk/img.png)
Spring MVC의 전체적인 흐름은 다음과 같습니다.클라이언트 요청사용자가 브라우저에서 URL을 입력하거나 링크를 클릭하면 HTTP 요청이 서버로 전송Filter 처리요청이 DispatcherServlet에 도달하기 전에 하나 이상의 필터가 수행필터는 서블릿 컨테이너 레벨에서 동작하며 요청과 응답을 가로채고, 수정하거나 로깅 등의 작업을 수행DispatcherServlet모든 요청은 Spring의 DispatcherServlet으로 전달DispatcherServlet은 프론트 컨트롤러로써 요청을 적절한 처리기로 라우팅하는 역할HandlerMappingDispatcherServlet은 요청 URL을 기반으로 어떤 컨트롤러가 이 요청을 처리할지 결정Interceptor의 preHandle요청이 컨트롤러에 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/v0LQS/btsH9t6jhkL/eCq2gSbAPQAJWTKu6IOB30/img.jpg)
도메인소프트웨어로 해결하고자 하는 문제 영역도메인은 하위 도메인으로 나눌 수 있음 도메인 모델 패턴일반적인 애플리케이션의 아키텍처는 네 개의 영역으로 구성표현 영역(Presentation): 사용자(혹은 외부 시스템)의 요청을 처리하고 사용자에게 정보를 보여줌응용 영역(Application): 사용자가 요청한 기능을 실행하며 업무 로직을 직접 구현하지 않고 도메인 계층을 조합해서 기능을 수행도메인(Domain): 시스템이 제공할 도메인 규칙을 구현도메인의 핵심 규칙을 구현도메인 규칙을 객체 지향 기법으로 구현하는 패턴이 도메인 모델 패턴인프라스트럭처(Infrastructure): 데이터베이스나 메시징 시스템과 같은 외부 시스템과의 연동을 처리 엔티티와 밸류도출한 모델은 크게 엔티티와 밸류로 구분엔티티의..